PythonでXPathを使用して兄弟の子ノードを選択するにはどうすればよいですか?

NPS

私はとを使用Pythonしていlxmlます。私のxmlファイル:

<Example>
    <Path>
        <Some.Node>
            // ...
        </Some.Node>
        <Some.Node>
            <Known.Node KnownAttribute="123"/>
            <Some.Stuff>
                <Nothing.Important>Bla</Nothing.Important>
            </Some.Stuff>
            <Relevant.Node>
                <Property>
                    <Name>Some</Name>
                    <Value>True</Value>
                </Property>
                <Property>
                    <Name>Known.Name</Name>
                    <Value>Desired Value</Value>
                </Property>
                <Property>
                    <Name>Some.Other</Name>
                    <Value>Yes</Value>
                </Property>
                // ...
            </Relevant.Node>
            // ...
        </Some.Node>
        <Some.Node>
            // ...
        </Some.Node>
    </Path>
</Example>

複数の<Some.Node>ノードがあり、にKnownAttribute等しいノードにのみ関心があり123ます。私が得たこの部分:

query = "//Known.Node[@KnownAttribute='%s']" % attribute_value

ただし、<Relevant.Node>/<Property>/<Value>where hasvalueの値を取得する必要<Name>ありますKnown.Name

これは私の最善の試みでしたが、うまくいきませんでした:

root = etree.parse(xml_file).getroot()
query = "//Known.Node[@KnownAttribute='%s']/..//Property[Name='Known.Name']/Value" % attribute_value
result = root.xpath(query)
print(result[0].text)

もちろん、印刷する必要がありますが、Desired Value空の値/空白を返すだけです。

どうすれば必要な値を取得できますか?

ジェイムス

あなたは本当に近いです。xpath式でノードのテキストを要求できます。

query = "//Known.Node[@KnownAttribute='%s']/..//" % attribute_value
query += "Property[Name='Known.Name']/Value/text()" 
result = root.xpath(query)
print(result[0])
# prints:
Desired Value

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Seleniumを使用してXPathで兄弟の子を選択するにはどうすればよいですか?

分類Dev

xpath式を使用して親ノードの兄弟内にあるノードを選択するにはどうすればよいですか?

分類Dev

xpathを使用してノードの特定の数の子孫を選択するにはどうすればよいですか?

分類Dev

XPathを使用して、links兄弟要素の下に特定の子が存在するリンクのみを選択するにはどうすればよいですか

分類Dev

XPath for HTMLを使用して子ノードの数を取得するにはどうすればよいですか?

分類Dev

XPathを使用してHTMLまたはXMLで名前のないノードを選択するにはどうすればよいですか?

分類Dev

XPathを使用して単一ノードを除くすべてのテキストを選択するにはどうすればよいですか?

分類Dev

xpathを使用してノードの範囲を最後から選択するにはどうすればよいですか?

分類Dev

JQueryセレクターを使用してHTMLDomで特定の子ノードを選択するにはどうすればよいですか?

分類Dev

XPATHでのみ同じノードの位置を選択するにはどうすればよいですか?

分類Dev

selectSingleNodeでノードを選択した後、ノードの子ノードを反復処理するにはどうすればよいですか?

分類Dev

XPathから選択したすべてのノードを削除するにはどうすればよいですか?

分類Dev

BeautifulSoupとPythonを使用してこのテキストノードのみを選択するにはどうすればよいですか?

分類Dev

linqを使用して子供の最初の子を選択するにはどうすればよいですか?

分類Dev

XPathで親ノードを選択するにはどうすればよいですか?

分類Dev

php xpathを使用してノードのすべての子を取得するにはどうすればよいですか?

分類Dev

rvestを使用して属性を持たないすべてのノードを選択するにはどうすればよいですか?

分類Dev

特定のXMLノードを選択し、その子ノードの値をフェッチするにはどうすればよいですか?

分類Dev

JavaScriptを使用してHTMLの子ノードを削除するにはどうすればよいですか?

分類Dev

Xpathを使用してiframe内の要素を選択するにはどうすればよいですか?

分類Dev

Xpathを使用して2番目のtdを選択するにはどうすればよいですか?

分類Dev

PythonでSeleniumを使用してクラス名のないxpathイメージを選択するにはどうすればよいですか?

分類Dev

querySelectorを使用して次の直接の子を選択するにはどうすればよいですか?

分類Dev

Pythonでxpathを使用して、要素のサブパートのみを選択するにはどうすればよいですか?

分類Dev

選択したノードのすべてのIDをjsTreeのルートノードに取得するにはどうすればよいですか?

分類Dev

html_nodesを使用して、Rで「attribute = x」のノードを選択するにはどうすればよいですか?

分類Dev

式を使用してXSLT1.0で一意のノードを選択するにはどうすればよいですか?

分類Dev

JQueryセレクターを使用して兄弟divのチェックボックスを選択するにはどうすればよいですか?

分類Dev

JQueryセレクターを使用して兄弟divのチェックボックスを選択するにはどうすればよいですか?

Related 関連記事

  1. 1

    Seleniumを使用してXPathで兄弟の子を選択するにはどうすればよいですか?

  2. 2

    xpath式を使用して親ノードの兄弟内にあるノードを選択するにはどうすればよいですか?

  3. 3

    xpathを使用してノードの特定の数の子孫を選択するにはどうすればよいですか?

  4. 4

    XPathを使用して、links兄弟要素の下に特定の子が存在するリンクのみを選択するにはどうすればよいですか

  5. 5

    XPath for HTMLを使用して子ノードの数を取得するにはどうすればよいですか?

  6. 6

    XPathを使用してHTMLまたはXMLで名前のないノードを選択するにはどうすればよいですか?

  7. 7

    XPathを使用して単一ノードを除くすべてのテキストを選択するにはどうすればよいですか?

  8. 8

    xpathを使用してノードの範囲を最後から選択するにはどうすればよいですか?

  9. 9

    JQueryセレクターを使用してHTMLDomで特定の子ノードを選択するにはどうすればよいですか?

  10. 10

    XPATHでのみ同じノードの位置を選択するにはどうすればよいですか?

  11. 11

    selectSingleNodeでノードを選択した後、ノードの子ノードを反復処理するにはどうすればよいですか?

  12. 12

    XPathから選択したすべてのノードを削除するにはどうすればよいですか?

  13. 13

    BeautifulSoupとPythonを使用してこのテキストノードのみを選択するにはどうすればよいですか?

  14. 14

    linqを使用して子供の最初の子を選択するにはどうすればよいですか?

  15. 15

    XPathで親ノードを選択するにはどうすればよいですか?

  16. 16

    php xpathを使用してノードのすべての子を取得するにはどうすればよいですか?

  17. 17

    rvestを使用して属性を持たないすべてのノードを選択するにはどうすればよいですか?

  18. 18

    特定のXMLノードを選択し、その子ノードの値をフェッチするにはどうすればよいですか?

  19. 19

    JavaScriptを使用してHTMLの子ノードを削除するにはどうすればよいですか?

  20. 20

    Xpathを使用してiframe内の要素を選択するにはどうすればよいですか?

  21. 21

    Xpathを使用して2番目のtdを選択するにはどうすればよいですか?

  22. 22

    PythonでSeleniumを使用してクラス名のないxpathイメージを選択するにはどうすればよいですか?

  23. 23

    querySelectorを使用して次の直接の子を選択するにはどうすればよいですか?

  24. 24

    Pythonでxpathを使用して、要素のサブパートのみを選択するにはどうすればよいですか?

  25. 25

    選択したノードのすべてのIDをjsTreeのルートノードに取得するにはどうすればよいですか?

  26. 26

    html_nodesを使用して、Rで「attribute = x」のノードを選択するにはどうすればよいですか?

  27. 27

    式を使用してXSLT1.0で一意のノードを選択するにはどうすればよいですか?

  28. 28

    JQueryセレクターを使用して兄弟divのチェックボックスを選択するにはどうすればよいですか?

  29. 29

    JQueryセレクターを使用して兄弟divのチェックボックスを選択するにはどうすればよいですか?

ホットタグ

アーカイブ