C#LINQ to XML:如何加入Xml数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#LINQ to XML:如何加入Xml数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1561字,纯文字阅读大概需要3分钟。
内容图文
![C#LINQ to XML:如何加入Xml数据](/upload/InfoBanner/zyjiaocheng/780/d9461f56c6aa4edda7954b884eb6ccf1.jpg)
给出两个这样的XML文件:
<Customers>
<Customer CustomerID="alc">Alice</Customer>
</Customer>
和
<Orders>
<Order OrderID="001" CID="alc">apple</Order>
</Orders>
现在我需要加入这两个XML文件并使用内部联接创建一个新文件:
<Result>
<Join>
<Customer CustomerID="alc">Alice</Customer>
<Order OrderID="001" CID="alc">apple</Order>
</Join>
</Result>
我有这个问题:
var result = new XElement("Result",
from customer in XElement.Load("Customers.xml").Elements("Customer")
join order in XElement.Load("Orders.xml").Elements("Order")
on
(string)customer.Attribute("CustomerID")
equals
(string)order.Attribute("CID")
select new XElement("Join",
new XElement("Customer", (string)customer.Element("Customer"),
new XAttribute("CustomerID", (string)customer.Attribute("CustomerID"))),
new XElement("Order", (string)order.Element("Order"),
new XAttribute("OrderID", (string)order.Attribute("OrderID")),
new XAttribute("CID", (string)order.Attribute("CID")))));
result.Save("result.xml");
有了这个我无法获得数据“爱丽丝”和“苹果”.结果是这样的:
<Result>
<Join>
<Customer CustomerID="alc" />
<Order OrderID="001" CID="alc" />
</Join>
</Result>
我想也许(字符串)customer.Element(“Customer”)和(字符串)order.Element(“Order”)有一些问题,我不知道如何修改它们.
解决方法:
您只需cast an element to a string即可获得其文本值:
select new XElement("Join",
new XElement("Customer", (string)customer,
new XAttribute("CustomerID", (string)customer.Attribute("CustomerID"))),
new XElement("Order", (string)order,
new XAttribute("OrderID", (string)order.Attribute("OrderID")),
new XAttribute("CID", (string)order.Attribute("CID")))));
内容总结
以上是互联网集市为您收集整理的C#LINQ to XML:如何加入Xml数据全部内容,希望文章能够帮你解决C#LINQ to XML:如何加入Xml数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。