【发布时间】:2018-06-18 09:27:55
【问题描述】:
我正在尝试获取一个特定的 XML 块,我正在使用函数加载来获取我的所有 XML 文件,它工作正常。当我调试时,我可以看到所有文件。问题在于我何时尝试获取 xml 的特定值。
我正在使用 LINQ 库的 XElement。因此,这是我的 xml 文件的示例:
-<Mission xmlns:z="http:..." xmlns:i="http:..." xmlns="http:..." z:Id="1">
+<ActiveBullsEye z:Id="2" i:type="BullsEye">
-<ActiveFlightPlan z:Id="7" i:type="FlightPlan">
<AIRTAC z:Id="8"/>
<Active>false</Active>
-<Aircraft z:Id="9" i:type="a:Tanker" xmlns:a="http:...">
-<ACColor xmlns:b="http:...">
<b:A>255</b:A>
<b:B>169</b:B>
<b:G>169</b:G>
<b:R>169</b:R>
<b:ScA>1</b:ScA>
<b:ScB>0.396755248</b:ScB>
<b:ScG>0.396755248</b:ScG>
<b:ScR>0.396755248</b:ScR>
我需要访问块 (ACColor),然后执行一个 for 语句来获取所有这些值。但我正在尝试这样的事情,但对我不起作用:
XElement xdocument = XElement.load(filepath) //This works
XElement missionBlock = xdocument.Element("Mission") //(ERROR) This not get Mission tag
foreach( XElement acColor in missionBlock.Elements("ACColor") ) { // (ERROR) Not found ACColor
...
}
您能帮我访问 ACColor 节点的所有值吗?
【问题讨论】:
-
Here is some documentation。您需要在查询中使用 xml 命名空间。
-
我会检查,可能命名空间是问题之一......
标签: c# xml linq parsing xelement