C# XDocument实现
我正试图最好地理解如何将以下XML实现为XDocument,但我对XDocument的内容还比较陌生,我遇到了一个概念性问题,即如何绕过一个元素中的多属性,并将值嵌套在另一个元素中 下面是XML的一个示例——如有任何帮助,将不胜感激C# XDocument实现,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,我正试图最好地理解如何将以下XML实现为XDocument,但我对XDocument的内容还比较陌生,我遇到了一个概念性问题,即如何绕过一个元素中的多属性,并将值嵌套在另一个元素中 下面是XML的一个示例——如有任何帮助,将不胜感激 <LVNPImport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfa
<LVNPImport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InterfaceIdentifier>835</InterfaceIdentifier>
<FolderPaths>
<Folder fromDate="" toDate="" contactName="APerson" email="AnEmail">Remittance Advice</Folder>
<Folder>%FACILITY%</Folder>
<Folder>%PAYORID%</Folder>
<Folder>%REMITDATE YYYY%</Folder>
<Folder>%REMITDATE MMMM YYYY%</Folder>
</FolderPaths>
<DocumentType>RA</DocumentType>
<DocumentDescription>%REMITDATE MM-DD-YY%</DocumentDescription>
<TotalFiles>1</TotalFiles>
</LVNPImport>
835
汇款通知
%贷款%
%派息%
%汇款日期YYYY%
%汇款日期MMMM YYYY%
类风湿关节炎
%汇款日期年月日%
1.
编辑
上面是一个模板——我不是在读,而是在写,所以我需要将上面的内容创建为XDoc
我刚刚开始学习XDocument的内容,我所拥有的内容与堆栈上的大多数示例几乎相同。您可以在
新XElement
重载中传递多个属性,因为对象内容:
XElement folderPath = new XElement("FolderPaths");
folderPath.Add(
new XElement(
"Folder",
new XAttribute("fromDate", String.Empty),
new XAttribute("toDate", String.Empty),
new XAttribute("contactName", "APerson"),
new XAttribute("email", "AnEmail"),
"Remittance Advice"
)
);
您可以在
新XElement
重载中传递多个属性,作为对象内容:
XElement folderPath = new XElement("FolderPaths");
folderPath.Add(
new XElement(
"Folder",
new XAttribute("fromDate", String.Empty),
new XAttribute("toDate", String.Empty),
new XAttribute("contactName", "APerson"),
new XAttribute("email", "AnEmail"),
"Remittance Advice"
)
);
对于任何看到这一点的人来说,在@ReinderWit对这个答案的帮助和另一个问题的答案(参见问题中的其他评论)之间,我能够找到如何构建XDocument的方法 守则如下:
_folderviewContents =
new XDocument(
new XElement("InterfaceIdentifier", "835"),
//Start of FolderPaths
new XElement("FolderPaths",
new XElement("Folder",
new XAttribute("fromDate", String.Empty),
//attributes for Folder w/ lots of attributes
new XAttribute("toDate", String.Empty),
new XAttribute("contactName", "APerson"),
new XAttribute("email", "AnEmail"),
//value for that long Folder w/ lots of attributes
"Remittance Advice"),
//Facility
new XElement("Folder", String.Empty),
//PayorID
new XElement("Folder", String.Empty),
//RemitDate Year
new XElement("Folder", String.Empty),
//RemitDate Month/Year
new XElement("Folder", String.Empty)),
new XElement("DocumentType", "RA"),
new XElement("DocumentDescription",String.Empty),
new XElement("TotalFiles", "1"));
我仍然需要添加XML版本和名称空间,但这些似乎足够简单。希望这能在将来帮助其他人构建有点奇怪且不那么简单的XDOC。对于任何关注这一点的人,我从@ReinderWit获得的关于这个答案的帮助和另一个问题的答案(参见问题中的其他评论)我能够想出如何建立XDocument 守则如下:
_folderviewContents =
new XDocument(
new XElement("InterfaceIdentifier", "835"),
//Start of FolderPaths
new XElement("FolderPaths",
new XElement("Folder",
new XAttribute("fromDate", String.Empty),
//attributes for Folder w/ lots of attributes
new XAttribute("toDate", String.Empty),
new XAttribute("contactName", "APerson"),
new XAttribute("email", "AnEmail"),
//value for that long Folder w/ lots of attributes
"Remittance Advice"),
//Facility
new XElement("Folder", String.Empty),
//PayorID
new XElement("Folder", String.Empty),
//RemitDate Year
new XElement("Folder", String.Empty),
//RemitDate Month/Year
new XElement("Folder", String.Empty)),
new XElement("DocumentType", "RA"),
new XElement("DocumentDescription",String.Empty),
new XElement("TotalFiles", "1"));
我仍然需要添加XML版本和名称空间,但这些似乎足够简单。希望这能帮助将来的其他人构建有点奇怪且不那么简单的XDOC。您的确切问题是什么?您可以将XML加载到XDocument对象中,然后可以查询结构和XElement属性…向我们展示您的尝试,这样我们可以帮助您解决实际问题,而不仅仅是给出解决方案。@ReinderWit上述内容是一个模板--我正试图找出如何将上述内容创建为XDocument。好的,你有一些你已经试过的代码吗?实施应该不会太难……我相信我们可以提供帮助,但我们需要更多地了解您的问题所在。您是否试图从
XDocument
开始获取这些属性的值?你能把代码和XML文件一起发布吗?你到底有什么问题?您可以将XML加载到XDocument对象中,然后可以查询结构和XElement属性…向我们展示您的尝试,这样我们可以帮助您解决实际问题,而不仅仅是给出解决方案。@ReinderWit上述内容是一个模板--我正试图找出如何将上述内容创建为XDocument。好的,你有一些你已经试过的代码吗?实施应该不会太难……我相信我们可以提供帮助,但我们需要更多地了解您的问题所在。您是否试图从XDocument
开始获取这些属性的值?你能不能把代码和XML一起发布呢?这非常有帮助,我已经把你的帖子投了赞成票——谢谢!这是非常有帮助的,我已经投票支持了你的帖子——谢谢!