0
我有以下XML文档可以使用。当属性附加到该元素时,在C#中查找XML元素的值
<ns0:ProductQuantity>
<ns0:Measurement>
<ns0:MeasurementValue>8500</ns0:MeasurementValue>
<ns0:UnitOfMeasureCode Domain="UN-Rec-20">KG</ns0:UnitOfMeasureCode>
</ns0:Measurement>
</ns0:ProductQuantity>
我还没有想出如何从本文档读取“KG”的值到我的C#代码中的字符串。我已经提取了其他元素值,但没有一个具有连接到它们的Domain="UN-Rec->20"
的这个属性。我正在使用Visual Studio 2013,以及我目前如何提取其他数据的想法如下。
XmlDocument doc = new XmlDocument();
doc.Load(filePath);
root = doc.DocumentElement;
prodAmt_xml[1] = root.GetElementsByTagName("ns0:MeasurementValue")[0].InnerText;
如果任何人有任何煽动到这个问题,并有办法让这些“计量单位”我将非常感激。
我没有一些命令,尽管使用“LINQ”和“XML”库参考使用。是否没有办法将“ns0:UnitOfMeasureCode”作为元素名称并忽略附加的属性和名称空间?我已经看到格式'.GetElementsByTagName(“ns0:UnitOfMeasureCode”,[@ Domain =“UN-Rec-20”])的一些引用'',但我还没有正确工作。如果有帮助,我相信我正在使用.NET 4.5的c#5.0。 – MBrockley
@MBrockley你需要一个对System.Xml.Linq.dll的引用。我在这里使用的唯一C#6功能是'?.'。我会发送一个不需要它的代码版本。 –
“是否没有办法将”ns0:UnitOfMeasureCode“作为元素名称并忽略附加属性和名称空间?”不,这不是XML的工作原理... –