0

Xdocument オブジェクトに html ドキュメントをロードしました:

XDocument xdoc = Xdocument.load(path);
XElement el = new XElement("name","value");

xdoc.Descendants("body").Single().Add(el);  <=== sequence conatin no element

document には body 要素が含まれているのに、なぜこの例外が発生するのでしょうか?

4

3 に答える 3

1

body問題は、名前空間が原因で要素が見つからないことだと思います。名前空間にある場合は、次を使用して見つけることができます。

XNamespace ns = "whatever the namespace uri is";
xdoc.Descendants(ns + "body").Single().Add(el); 
于 2012-07-31T13:54:34.717 に答える
0

使用してみてください:

xdoc.Root.Descendants("body").Single().Add(el);
于 2012-07-31T13:53:24.103 に答える
0

Namespaseなしで要素を見つけることができます。XElementでLocalNameを使用するだけです。

XElement root = XElement.Load("Data.xml");
root.Descendants().Where(x => x.Name.LocalName == "body")
于 2012-07-31T14:02:57.557 に答える