LINQ 2 XML에 대한 약간의 도움이 필요합니다
-
19-08-2019 - |
문제
이 시나리오와 비슷한 시나리오가 있습니다.
public class TestLinq2Xml
{
private XElement GenerateSomeXml()
{
return XElement.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
public void ExploreXmlNode()
{
var xmlTree = this.GenerateSomeXml();
var name = xmlTree.Element("MyObject").Element("Properties").Element("Name").Value;
Console.WriteLine(name);
}
}
좋아, 이것은 매우 단순화되었습니다. ....하지만 여전히 작동하지 않습니다. 내가 여기서 잘못하고있는 일에 대한 아이디어가 있습니까?
편집하다:
오, 거의 잊었습니다. 문제는 그 것입니다 xmlTree.Element("MyObject")
빈 LINQ 시퀀스를 반환합니다. "myobject"라는 노드가 분명히 있지만.
해결책
xElement.parse는 xlement를 반환합니다 <MyObject>
마디. 노력하다:-
var name = xmltree.element ( "Properties"). 요소 ( "이름"). 값;
다른 팁
이전 포스터가 제안한 것 외에도 LINQ가 작동하도록 generatesOmexml () 함수에서 XDocument를 반환 할 수도 있습니다.
private static XDocument GenerateSomeXml()
{
return XDocument.Parse(@"<MyObject>
<Properties>
<Name>My object 1</Name>
<Position>0; 0; 0</Position>
</Properties>
</MyObject>");
}
제휴하지 않습니다 StackOverflow