搜索特定的XML条目时是否可以定义两个“ SelectSingleNodes”语句?

浑水

在缩小对特定XML值的搜索范围的同时,是否可以定义两个“ SelectSingleNode”语句?

我的XML结构如下:

<beans>
  <bean id="MenuGet">
    <property name="name">
    <property name="MapOverride">
      <map>
          <entry key="node.infoblock" value="k4jk2jb54B$T45bt2j5ktb3B%$">
      </map>
    </property>
  </bean>
</beans>

<beans>
  <bean id="SystemGet">
    <property name="name">
    <property name="MapOverride">
      <map>
          <entry key="node.infoblock" value="b34t34bhj54b%B#Y$%Bn45ht5h">
      </map>
    </property>
  </bean>
</beans>

下面是我用来调用要从第一个“ beans”标签中提取的值的语句,但我不确定它是否正确或是否可行:

$ statement = $ XMLFile.beans.bean.SelectSingleNode(“ id [contains(@ key =” Menu“)]”)。property [1] .map.SelectSingleNode(“ entry [@ key ='node.infoblock']” )。值

derloopkat

该文件中有两个键为“ node.infoblock”的条目。如果您希望每个bean一个条目,则不应使用SelectSingleNode。通过使用SelectNodes获得它们更有意义。

其次,您发布的Xml文件存在格式问题(没有根节点和许多未关闭的标签),因此无法解析。它看起来应该像这样:

<beans>
  <bean id="MenuGet">
    <property name="name" />
    <property name="MapOverride">
      <map>
          <entry key="node.infoblock" value="k4jk2jb54B$T45bt2j5ktb3B%$" />
      </map>
    </property>
  </bean>
  <bean id="SystemGet">
    <property name="name" />
    <property name="MapOverride">
      <map>
          <entry key="node.infoblock" value="b34t34bhj54b%B#Y$%Bn45ht5h" />
      </map>
    </property>
  </bean>
</beans>

如果保存该文件,则可以运行以下代码来检索条目:

$xmlFilePath = "c:\temp\file.xml"
$doc = new-object System.Xml.XmlDocument
$doc.load($xmlFilePath)
$entries = $doc.SelectNodes("//entry[@key='node.infoblock'][1]")
foreach($entry in $entries)
{
    Write-Host $entry.value
}

它打印:

k4jk2jb54B $ T45bt2j5ktb3B%$

b34t34bhj54b%B#Y $%Bn45ht5h

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以在C中同时执行两个语句?

我可以在一条语句中从两个表中删除条目吗?

在VBA中是否可以只用一个执行这两个IF语句?

使用join语句和标签映射时搜索两个或多个标签

是否可以对两个EXECUTE BLOCK语句进行UNION?

是否可以使“if”语句影响代码的两个单独部分?

是否可以定义仅由两个函数可见的局部静态变量?

在 Elm 中嵌套两个 case 语句时可以避免重复代码吗?

“让”语句可以定义 2+ 件事吗

使用两个if语句

我可以合并这两个if语句吗?

这两个python if语句是否相同?

这两个python语句是否相同?

检查两个语句是否为真

如何使用if或语句检查两个变量是否相同

在两个XML文档上使用if语句

避免在返回两个方法时使用if else语句

代码在删除if语句时产生两个不同的结果

合并两个if语句时出现TypeError问题

当两个随机数相等时的'if'语句

如何在两个if语句中问两个变量是否相等

在Go select构造中,是否可以在两个case语句中向非缓冲通道发送和接收?

是否有一种巧妙的方法可以在IF语句中的两个条件下执行XOR操作?

(方案)是否可以仅使用define或math语句根据输入返回两个值之一?

R在调试时,是否可以跳过特定的语句?

以下两个语句,即语句 1 和 2 的时间复杂度是否不同?

两个IF语句与一个AND语句

then语句中如何写两个语句?

PHP - 用两个更短的语句制作 if 语句