1

以下のサンプルXMLを見てください-

<div id="main">
    <div id="1">
        Some random text
    </div>
    <div id="2">
        Some random text
    </div>
    <div id="3">
        Some random text
    </div>
    <p> Some more random text</p>
    <div id="4">
        Some random text
    </div>
</div>

では、Xqueryを使用してメインdiv内のdivの数を確認するにはどうすればよいですか?そして、XPathでこれを行う方法は?

4

2 に答える 2

3

次のXPathを使用できます。

count(div[@id="main"]/div)

関数countはカウントを行い、メインdivはそのによって選択されますid

于 2012-09-03T16:48:29.953 に答える
2

以下のXPath式は、XPathとXQueryの両方で使用できます。XPath(2.0)はXQueryの適切なサブセットであるため、これはそうです。

使用

count(/*//div)

「maindiv」がXMLドキュメントの最上位要素ではなく、これが属性の文字列値がである唯一の要素であるdiv場合id"main"、次を使用します。

count((//div[@id='main'])[1]//div)

div「maindiv」の子に子孫がないことが保証されている場合はdiv、次を使用します。

count((//div[@id='main'])[1]/div)

:XPath疑似演算子//は非常に非効率的である可能性があります。そのため、XMLドキュメントの構造が静的にわかっていて、特定のパスを使用できる場合は常に、XPath疑似演算子の使用を避けてください。

于 2012-09-03T17:46:10.657 に答える