我在 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 元素,那么为什么会出现这个异常?
body
我怀疑问题是由于命名空间而找不到元素。如果它在命名空间中,您可以使用以下命令找到它:
XNamespace ns = "whatever the namespace uri is";
xdoc.Descendants(ns + "body").Single().Add(el);
尝试使用:
xdoc.Root.Descendants("body").Single().Add(el);
您可以找到没有 Namespase 的元素,只需在 XElement 中使用 LocalName
XElement root = XElement.Load("Data.xml");
root.Descendants().Where(x => x.Name.LocalName == "body")