Xpath 具有选项值的节点序列
这里有一个关于重复节点和缺少值的问题 给定下面的xml,XPath中是否有返回(value2,null,value5)而不是(value2,value5)的方法?我使用的表达式如下所示:Xpath 具有选项值的节点序列,xpath,xpathdocument,Xpath,Xpathdocument,这里有一个关于重复节点和缺少值的问题 给定下面的xml,XPath中是否有返回(value2,null,value5)而不是(value2,value5)的方法?我使用的表达式如下所示: /nodes/node[*]/value2/text() 以检索值。我需要知道缺少了一个值,以及在哪个索引处发生了这种情况。我对XPath完全是个新手,不知道怎么做 <nodes> <node> <value1>value1</value1>
/nodes/node[*]/value2/text()
以检索值。我需要知道缺少了一个值,以及在哪个索引处发生了这种情况。我对XPath完全是个新手,不知道怎么做
<nodes>
<node>
<value1>value1</value1>
<value2>value2</value2>
</node>
<node>
<value1>value3</value1>
</node>
<node>
<value1>value4</value1>
<value2>value5</value2>
</node>
</nodes>
价值1
价值2
价值3
价值4
价值5
亲切问候,
mipper我想您需要友好地使用xml解析器,自己迭代节点。这个例子是用Ruby编写的;我用注释装饰它,因为我不知道你能读什么语言
#!/usr/bin/ruby1.8
require 'nokogiri'
xml = <<EOS
<nodes>
<node>
<value1>value1</value1>
<value2>value2</value2>
</node>
<node>
<value1>value3</value1>
</node>
<node>
<value1>value4</value1>
<value2>value5</value2>
</node>
</nodes>
EOS
# Parse the xml with Nokogiri
doc = Nokogiri::XML(xml)
# Get an array of nodes
nodes = doc.xpath('/nodes/node')
# For each node, get its value. Put the collected values into the
# "values" array.
values = nodes.collect do |node|
node.at_xpath('value2/text()').to_s
end
# Print the values in a programmer-friendly format
p values # => ["value2", "", "value5"]
#/usr/bin/ruby1.8
需要“nokogiri”
xml=
给定下面的xml,XPath中是否有返回的方法(value2,null,value5)
在XPath中,否。XPath只能选择/返回现有节点。它不知道null
在XSLT或任何其他支持XML的编程语言中,这个问题可以通过迭代来解决
<xsl:for-each select="/nodes/node">
<xsl:value-of select="*[2]" />
<xsl:text>, </xsl:text>
</xsl:for-each>
,