2
XDocument를 사용하여 XML 파일을 읽으려고합니다. 그것을로드하는 많은 시도를했지만 모든 null을 반환하는 것 같습니다. 첫 번째 시도 :C# XDocument 요소/요소가 null을 반환합니다.
var doc = XDocument.Load(path);
var graphml = doc.Root.Element("graphml"); //null
foreach (var keyElement in graphml.Elements("key")) //exception
...
XElement graph = doc.Element("graph"); //null
foreach (var nodeElement in graph.Elements("node")) //exception
...
또 다른 하나 내가 잘못 뭐하는 거지에 대한
<?xml version="1.0" encoding="utf-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns">
<key id="pr" for="edge" attr.name="preference" attr.type="int" />
...
<graph id="G" edgedefault="undirected">
<node id="st1" />
<node id="st2" />
...
</graph>
</graphml>
어떤 아이디어 :
var doc = XDocument.Load(path);
XName xNameKey = XName.Get("key", doc.Root.GetDefaultNamespace().NamespaceName);
foreach (var keyElement in doc.Elements(xNameKey)) //null
...
내 XML은 다음과 같습니다?
을에 첫 번째 예'doc.Root'는 이미 graphml 요소를 제공합니다. 해당 이름의 루트 아래에 요소가 없습니다. 두 번째 예에서는 Root를 포함하는 것을 잊었다. 'foreach (var keyElement in doc.Root.Elements (xNameKey))'가 작동 할 것으로 기대합니다. – rene
@rene 감사합니다. 도움이 되었습니까? 대답으로 답변 해 주시겠습니까? – Dracke