2

私のXMLファイルは次のとおりです

<?xml version="1.0" encoding="utf-8"?>
<BallList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Brand name="brand1">
 <BallName>brand1 ball</BallName>
</Brand
<Brand name="brand2">
 <BallName>brand2 ball</BallName>
</Brand>
</BallList>

name属性を持つ特定のブランドを確認する必要があります。ブランドが存在しない場合は、C#Linqを使用してxmlファイルに追加する必要があります。誰かがこれで私を助けることができますか?

4

1 に答える 1

2

LinqToXMlを使用できます

System.Xml.Linq

    var f = XDocument.Load("c:\\00.xml");

    var myBrand = f.Root.Elements("Brand")
        .Where(x => x.Attribute("name").Value == "MyBrand").FirstOrDefault();

    if (myBrand == null)
    {
        // insert here
        f.Root.Add(
            new XElement("Brand",  new XAttribute("name", "MyBrand"), 
                new XElement("BallName", "MyBrand Ballname"))
            );
        f.Save("c:\\00.xml");
    }

このコードはこの結果を生み出しました

<?xml version="1.0" encoding="utf-8"?>
<BallList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Brand name="brand1">
    <BallName>brand1 ball</BallName>
  </Brand>
  <Brand name="brand2">
    <BallName>brand2 ball</BallName>
  </Brand>
  <Brand name="MyBrand">
    <BallName>MyBrand Ballname</BallName>
  </Brand>
</BallList>
于 2012-05-29T16:14:56.443 に答える