附加XML文件

时间:2010-03-26 15:08:32

标签: c# xml append

我有一个XML模板文件。此文件包含标题和一些预定义的元素部分。

例如:

 <?xml version="1.0" encoding="utf-8"?>
 <Sections>      
  <Section PageSize="Letter"  PageMargins="35" PagePaddings="5">                   
    <Header Height="130" Repeat="False" >               
      <Image Source="Resources/logo1.bmp" Left="30" Top="34" Width="65" KeepRatio="True" />
      <Text Left="75" Top="34" Width="510" Alignment="Center"  Style="TitleTextStyleBold">$Title$</Text>      
      <Image Source="Resources/logo2.bmp" Left="500" Top="34" Width="65" KeepRatio="True" />   
    </Header>
   </Section>
 </Sections>

我想以XML格式动态创建一些元素组(作为字符串)。

例如:

   <Group Layout="Horizontal" Margins="0, 13">
        <Text Margins="0, 0, 0, 0" Width="180" Alignment="Center"  Style="TextStyleBold">DataItem Name</Text>   
        <Text Margins="0, 0, 0, 0" Width="180"  Alignment="Center" Style="TextStyleBold">DataItem Value</Text>      
        <Text Margins="0, 0, 0, 0" Width="180" Alignment="Center"  Style="TextStyleBold">DataItem Unit</Text>       
   </Group>

我希望使用C#将上述组动态附加到现有模板XML文件。最终附加的XML应如下所示:

例如:

 <?xml version="1.0" encoding="utf-8"?>
 <Sections>      
  <Section PageSize="Letter"  PageMargins="35" PagePaddings="5">                   
    <Header Height="130" Repeat="False" >               
      <Image Source="Resources/logo1.bmp" Left="30" Top="34" Width="65" KeepRatio="True" />
      <Text Left="75" Top="34" Width="510" Alignment="Center"  Style="TitleTextStyleBold">$Title$</Text>      
      <Image Source="Resources/logo2.bmp" Left="500" Top="34" Width="65" KeepRatio="True" />   
    </Header>
    <Group Layout="Horizontal" Margins="0, 13">
        <Text Margins="0, 0, 0, 0" Width="180" Alignment="Center"  Style="TextStyleBold">DataItem Name</Text>   
        <Text Margins="0, 0, 0, 0" Width="180"  Alignment="Center" Style="TextStyleBold">DataItem Value</Text>      
        <Text Margins="0, 0, 0, 0" Width="180" Alignment="Center"  Style="TextStyleBold">DataItem Unit</Text>       
   </Group>
   </Section>
 </Sections>

如何将字符串(XML格式)内容附加到C#中的XML模板内容?

1 个答案:

答案 0 :(得分:2)

您可以使用XDocument实例来表示现有的XML和XElement,以表示您要添加的内容。

它们位于System.Xml.Linq命名空间中,是.NET 3.5 +

的一部分

这是一个例子。出于本示例的目的,我在一个名为xml的字符串中包含了主XML,这是一个名为xmlToAdd的字符串中XML的新部分。

    XDocument document = XDocument.Parse(xml);
    XElement element = XElement.Parse(xmlToAdd);

    document.Root.Element("Section").Add(element);