<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 9.6.?訪問元素屬性 XML 元素可以有一個或者多個屬性,只要已經解析了一個 XML 文檔,訪問它們就太簡單了。 在這部分中,將使用 `binary.xml` 語法文件,你在[上一節](searching.html "9.5.?搜索元素")中已經看到過了。 > 注意 > 這部分由于某個含義重疊的術語可能讓人有點糊涂。在一個 XML 文檔中,元素可以有屬性,而 Python 對象也有屬性。當你解析一個 XML 文檔時,你得到了一組 Python 對象,它們代表 XML 文檔中的所有片段,同時有些 Python 對象代表 XML 元素的屬性。但是表示 (XML) 屬性的 (Python) 對象也有 (Python) 屬性,它們用于訪問對象表示的 (XML) 屬性。我告訴過你它讓人糊涂。我會公開提出關于如何更明顯地區分這些不同的建議。 ## 例?9.24.?訪問元素屬性 ``` >>> xmldoc = minidom.parse('binary.xml') >>> reflist = xmldoc.getElementsByTagName('ref') >>> bitref = reflist[0] >>> print bitref.toxml() <ref id="bit"> <p>0</p> <p>1</p> </ref> >>> bitref.attributes <xml.dom.minidom.NamedNodeMap instance at 0x81e0c9c> >>> bitref.attributes.keys() [u'id'] >>> bitref.attributes.values() [<xml.dom.minidom.Attr instance at 0x81d5044>] >>> bitref.attributes["id"] <xml.dom.minidom.Attr instance at 0x81d5044> ``` | | | | --- | --- | | \[1\] | 每個 `Element` 對象都有一個 `attributes` 屬性,它是一個 `NamedNodeMap` 對象。聽上去挺嚇人的,其實不然,因為 `NamedNodeMap` 是一個[行為像字典](../object_oriented_framework/userdict.html "5.5.?探索 UserDict:一個封裝類")的對象,所以你已經知道怎么使用它了。 | | \[2\] | 將 `NamedNodeMap` 視為一個字典,你可以通過 `attributes.keys()` 獲得屬性名稱的一個列表。這個元素只有一個屬性,`'id'`。 | | \[3\] | 屬性名稱,像其它 XML 文檔中的文本一樣,都是以 [unicode](unicode.html "9.4.?Unicode") 保存的。 | | \[4\] | 再次將 `NamedNodeMap` 視為一個字典,你可以通過 `attributes.values()` 獲取屬性值的一個列表。這些值本身是 `Attr` 類型的對象。你將在下一個例子中看到如何獲取對象的有用信息。 | | \[5\] | 仍然把 `NamedNodeMap` 視為一個字典,你可以通過常用的字典語法和名稱訪問單個的屬性。(那些非常認真的讀者將已經知道 `NamedNodeMap` 類是如何實現這一技巧的:通過定義一個 [`__getitem__` 專用方法](../object_oriented_framework/special_class_methods.html "5.6.?專用類方法")。其它的讀者可能樂意接受這一事實:他們不需要理解它是如何工作的就可以有效地使用它。) | ## 例?9.25.?訪問單個屬性 ``` >>> a = bitref.attributes["id"] >>> a <xml.dom.minidom.Attr instance at 0x81d5044> >>> a.name u'id' >>> a.value u'bit' ``` | | | | --- | --- | | \[1\] | `Attr` 對象完整代表了單個 XML 元素的單個 XML 屬性。屬性的名稱 (與你在 `bitref.attributes` `NamedNodeMap` 偽字典中尋找的對象同名) 保存在`a.name`中。 | | \[2\] | 這個 XML 屬性的真實文本值保存在 `a.value` 中。 | > 注意 > 類似于字典,一個 XML 元素的屬性沒有順序。屬性可以以某種順序_偶然_ 列在最初的 XML 文檔中,而在 XML 文檔解析為 Python 對象時,`Attr` 對象以某種順序_偶然_ 列出,這些順序都是任意的,沒有任何特別的含義。你應該總是使用名稱來訪問單個屬性,就像字典的鍵一樣。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看