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이 작동하는 방식이 아니야. –