C# 从infopath模板创建表单
我已经通过编程方式从模板(xsn)创建了xml文件(infopath表单)。 我从模板文件(xsn)中获得了以下xml文件结构。现在我想将值附加到xml文件中C# 从infopath模板创建表单,c#,xml,xpath,sharepoint-2010,infopath2010,C#,Xml,Xpath,Sharepoint 2010,Infopath2010,我已经通过编程方式从模板(xsn)创建了xml文件(infopath表单)。 我从模板文件(xsn)中获得了以下xml文件结构。现在我想将值附加到xml文件中 <my:PropertyDetails> <my:AddressSelectionList>2201.00000000000</my:AddressSelectionList> <my:PropRef>210</my:PropRef> <my:
<my:PropertyDetails>
<my:AddressSelectionList>2201.00000000000</my:AddressSelectionList>
<my:PropRef>210</my:PropRef>
<my:UPRN>2201.00000000000</my:UPRN>
<my:AddressLine>220 test road</my:AddressLine>
<my:PropId>210</my:PropId>
<my:BlockUPRN></my:BlockUPRN>
<my:Attachments xsi:nil="true"></my:Attachments>
<my:Filegroup>
<my:URL></my:URL>
<my:URLText></my:URLText>
</my:Filegroup>
</my:PropertyDetails>
<my:ScaffoldMeasure>
<my:groupRepeat>
<my:Description></my:Description>
<my:Code></my:Code>
<my:Unit></my:Unit>
<my:Rate xsi:nil="true"></my:Rate>
<my:Quantity></my:Quantity>
<my:Cost xsi:nil="true"></my:Cost>
<my:Comments></my:Comments>
<my:ID></my:ID>
<my:Title></my:Title>
</my:groupRepeat>
</my:ScaffoldMeasure>
<my:PorchBalcony>
<my:groupRepeat>
<my:Description></my:Description>
<my:Code></my:Code>
<my:Unit></my:Unit>
<my:Rate xsi:nil="true"></my:Rate>
<my:Quantity></my:Quantity>
<my:Cost xsi:nil="true"></my:Cost>
<my:Comments></my:Comments>
<my:ID></my:ID>
<my:Title></my:Title>
</my:groupRepeat>
</my:PorchBalcony>
现在我需要在groupRepeat部分中附加这些值。有人能建议在节中添加值的最佳方式吗?谢谢即使在我在评论中问了几次澄清之后,我仍然不确定你到底想要什么。这个怎么样:
.....
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
var sm = xmlDoc.Descendants(nsm + "ScaffoldMeasure").First();
var groupRepeat = new XElement(nsm + "groupRepeat",
new XElement(nsm + "Description", "scaffold1"),
new XElement(nsm + "Code", "sc1"),
new XElement(nsm + "Unit", "sc1"),
new XElement(nsm + "Rate", "sc1",
new XAttribute(xsi + "nil", true)),
new XElement(nsm + "Quantity", "sc1"),
new XElement(nsm + "Cost", "sc1",
new XAttribute(xsi + "nil", true)),
new XElement(nsm + "Comments", "sc1"),
new XElement(nsm + "ID", "sc1"),
new XElement(nsm + "Title", "ssssssss"));
sm.Add(groupRepeat);
xmlDoc.Save(@"C:\ttt.xml");
我假设您在XML中正好有一个
节点,您想添加另一个
节点,并在该
节点中完成子节点,您的代码中xmlDoc
是什么类型,XDocument
还是XmlDocument
?它是XDocument,XDocument XmlDocument=XDocument.Load(@“C:\1.XML”);
是您的XML的根节点吗?更新了问题部分,给出了XML文件的结构。非常感谢。上面的代码对我很有用。。这正是我想要的,因为我没有得到正确的语法。
.....
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
var sm = xmlDoc.Descendants(nsm + "ScaffoldMeasure").First();
var groupRepeat = new XElement(nsm + "groupRepeat",
new XElement(nsm + "Description", "scaffold1"),
new XElement(nsm + "Code", "sc1"),
new XElement(nsm + "Unit", "sc1"),
new XElement(nsm + "Rate", "sc1",
new XAttribute(xsi + "nil", true)),
new XElement(nsm + "Quantity", "sc1"),
new XElement(nsm + "Cost", "sc1",
new XAttribute(xsi + "nil", true)),
new XElement(nsm + "Comments", "sc1"),
new XElement(nsm + "ID", "sc1"),
new XElement(nsm + "Title", "ssssssss"));
sm.Add(groupRepeat);
xmlDoc.Save(@"C:\ttt.xml");