-6

質問

このファイルにさらに製品を追加する必要がある XML スキーマがあります。両方のクラスを試しXMLdocumentてみXdocumentましたが、良い結果が得られませんでした

<prodcuts>
  <product>
    <name>123</name>
    <price>123</price>
  </product>
</products>

コード:

私はこのコードでXdocumentクラスを試していました

        XDocument xmldoc = XDocument.Load("F://products.xml");
        XElement parentElement = new XElement(xmldoc.XPathSelectElement("product"));
        XElement newElement = new XElement("name","32323");
        XElement newElement = new XElement("price","150");
        parentElement.Add(newElement);
        xmldoc.Save("F://products.xml");

例外

Value cannot be null.
Parameter name: other

私もトライXMLdocumentクラスでしたが結果が出ませんでした...

どこが間違っていますか?...この問題は、LINQまたは他の方法で解決できますか?

4

2 に答える 2

4

これにより、ルート ノードの下に新しい XElement が作成されます。これは、必要な場所です。

xmlDoc.Root.Add(
    new XElement("product",
        new XElement("name", "456"),
        new XElement("price", "456")));
于 2011-06-28T09:25:57.200 に答える
2

あなたのサンプルに基づいて、親へのパスは次のようにする必要はありません: prodcuts/products

XElement parentElement = new XElement(xmldoc.XPathSelectElement("prodcuts/product"));

あなたが与えた例ではparentElementがnullだと思います

于 2011-06-28T09:16:55.673 に答える