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
...
もう1:私が間違っているのかについて
<?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要素を提供しています。その名前のルートの下に要素はありません。 2番目の例では、ルートを含めるのを忘れていました。 'foreach(doc.Root.Elements(xNameKey)のvar keyElement)'が動作することを期待しています。 – rene
@reneそれは助けてくれてありがとう、あなたは答えとしてそれを置くことができますか? – Dracke