1

以下のようなxmlドキュメントがあります。特定の値を持つタイトル ノードを選択しようとしていました"![CDATA[ 1234 ]]"。そのTitleノードは、任意のTypeノードにある可能性があります。このxpathクエリを使用していました

/Results/ResultSet/Type[Title="![CDATA[ 1234 ]]"]

しかし、何も選択されませんでした。誰か助けてくれませんか。

<Results>
    <Info>...</Info>
    <ResultSet num="4">

     <Type type="A">

      <Title>
      <![CDATA[ 1234 ]]>
      </Title>

      <Description>
      <![CDATA[ 1234 ]]>
      </Description>

      <Domain>
      <![CDATA[1234 ]]>
      </Domain>

      <Target>
      <![CDATA[]]>
      </Target>

     </Type>

    <Type type="A">

    <Title>
    <![CDATA[ abcdef ]]>
    </Title>

    <Description>
    <![CDATA[abcdef]]>
    </Description>

    <Domain>
    <![CDATA[abcdef]]>
    </Domain>

    <Target>
    <![CDATA[abcdef]]>
    </Target>

    </Type>

編集:私が使用しているルビーコードが含まれています

       doc = Nokogiri::HTML(html)
       Element = doc.xpath('/Results/ResultSet/Type/Title[text()=" 1234 "]')
    if Element.empty?()
          puts "not there "
    else
       Element.each do |node|
       puts  "Found Title: #{node.text}" 
       end
    end
    end
4

1 に答える 1

2

XPath が間違っています:

これを使って:

/Results/ResultSet/Type/Title[text()=" 1234 "]

XML 用に投稿されたリンク OP に基づいて、これが実際の XPath です。

/QuigoResults/ResultSet/Listing/Title[text()=" location in DYNAMICREGION "]
于 2012-07-03T16:11:12.100 に答える