2
<Account nr="401" name="Wasser/Abwasser" income="0.00" expenditure="1,310.74" saldo="-1,310.74" resultText="Es wurden ausgegeben">
    <Accounting date="15.02." refNr="....." description="I/2013"  income="" expenditure="1,310.74" vat="10%" pretax="131.07"/>
  </Account>

我可以使用 XmlTextWriter 但不知道如何继续使用 nr,name .....

myXmlTextWriter.WriteStartElement("Account");.....
myXmlTextWriter.WriteElementString("Accounting",......

谢谢

4

3 回答 3

7

尝试使用XElement结束XAttribute类。它们是 LINQ to XML 的一部分,它们使使用 XML 变得更加容易。

var xml = new XElement("Account",
              new XAttribute("nr", 401),
              new XAttribute("name", "Wasser/Abwasser"),
              new XElement("Accounting",
                  new XAttribute("date", "15.02."),
                  new XAttribute("refNr", "...")));

那个返回.ToString()

<Account nr="401" name="Wasser/Abwasser">
  <Accounting date="15.02." refNr="..." />
</Account>

按照模式填充其余属性,您将拥有所需的内容。

于 2013-04-03T12:34:18.697 回答
5

你会想发出一个WriteAttributeString

myXmlTextWriter.WriteAttributeString(null, "nr", null, "401");
myXmlTextWriter.WriteEndElement();

并在WriteStartElement.

你也可以使用这个重载:

myXmlTextWriter.WriteAttributeString("nr", "401");

当然,为所有其他属性复制它。它也适用于子节点。

于 2013-04-03T12:36:14.300 回答
4

使用 LINQ to XML,您可以非常简单地做到这一点:

var document = new XDocument( 
                   new XElement("Account",
                       new XAttribute("nr", 401),
                          ...));
document.WriteTo(myXmlTextWriter);
于 2013-04-03T12:36:18.040 回答