2010-03-26 128 views
0

我有一個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> 
    </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> 

我想上述羣體動態附加到現有模板的XML文件,使用C#。最後的附加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格式)內容,以XML模板內容在C#中?

+1

您需要說出您希望使用哪種語言。如果您使用的是JavaScript,它已經內置到XML代碼中,因此您可以追加元素,獲取子元素的列表等等。我確信現在每種語言或多或少都有某種等價的庫。 – thecoshman 2010-03-26 15:15:45

回答

2

您可以使用XDocument的實例來表示您現有的XML和XElement以表示您希望添加的內容。

這些都是在System.Xml.Linq的命名空間,.NET的3.5+

部分下面是一個例子。對於這個例子來說,我的主XML是一個名爲xml的字符串,XML中的新部分是一個名爲xmlToAdd的字符串。

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

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