最佳.NET方法来创建一个XML文档 [英] Best .net Method to create an XML Doc

查看:97
本文介绍了最佳.NET方法来创建一个XML文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找出最好的方法是什么编写XML文档。下面是什么,我想创建过的数据我从我们的ERP系统中提取一个简单的例子。我看了一下XMLWriter的,但想到我会看看是否有其他更好的方法。任何建议,将不胜AP preciated。

示例XML:

 < XML版本=1.0&GT?;
    <订单>
        <令ORDERNUMBER =12345>
             < ItemNumber> 0123993587< / ItemNumber>
             <数量> 10< /数量>
             <仓储GT; PA019< /仓储GT;
       < /排序>
        <令ORDERNUMBER =12346>
             < ItemNumber> 0123993587< / ItemNumber>
             <数量> 9< /数量>
             <仓储GT; PA019< /仓储GT;
       < /排序>
        <令ORDERNUMBER =12347>
             < ItemNumber> 0123993587< / ItemNumber>
             <数量> 8示/数量>
             <仓储GT; PA019< /仓储GT;
       < /排序> < /订单>
 

解决方案

乔什的回答显示了它是多么容易在LINQ创建一个单一的元素,以XML ...它不显示怎么也非常容易地创建多个元素。假设你有一个名单,其中,排序> 名为订单 ...你可以创建这样整个文档:

  VAR XML =新的XElement(订单,
    orders.Select(为了=>
        新的XElement(订单,
            新XAttribute(ORDERNUMBER,order.OrderNumber)
            新的XElement(ItemNumber,order.ItemNumber)
            新的XElement(数量,order.Quantity)
            新的XElement(仓库,order.Warehouse)
        ));
);
 

的LINQ to XML使构造XML非常容易。它还具有XML命名空间是pretty的易得的支持。举例来说,如果你想你的内容是在一个特定的命名空间中,你只需要:

 的XNamespace NS =HTTP://你的/空间/这里;
VAR XML =新的XElement(NS +订单,
    orders.Select(为了=>
        新的XElement(NS +订单,
...(的code其余如前)
 

的LINQ to XML是最好的XML API,我曾经使用过...这是伟大的查询了。

I am trying to figure out what the best method is for writing an XML Document. Below is a simple example of what I am trying to create off of data I am pulling from our ERP system. I have read about XMLWriter, but thought I would see if there are any other better methods. Any suggestions would be greatly appreciated.

Example XML:

<?xml version="1.0"?>
    <Orders>
        <Order OrderNumber="12345">
             <ItemNumber>0123993587</ItemNumber>
             <QTY>10</QTY>
             <WareHouse>PA019</WareHouse>
       </Order>
        <Order OrderNumber="12346">
             <ItemNumber>0123993587</ItemNumber>
             <QTY>9</QTY>
             <WareHouse>PA019</WareHouse>
       </Order>
        <Order OrderNumber="12347">
             <ItemNumber>0123993587</ItemNumber>
             <QTY>8</QTY>
             <WareHouse>PA019</WareHouse>
       </Order> </Orders>

解决方案

Josh's answer shows how easy it is to create a single element in LINQ to XML... it doesn't show how it's also hugely easy to create multiple elements. Suppose you have a List<Order> called orders... you can create the whole document like this:

var xml = new XElement("Orders",
    orders.Select(order =>
        new XElement("Order",
            new XAttribute("OrderNumber", order.OrderNumber),
            new XElement("ItemNumber", order.ItemNumber),
            new XElement("QTY", order.Quantity),
            new XElement("Warehouse", order.Warehouse)
        ));
);

LINQ to XML makes constructing XML incredibly easy. It also has support for XML namespaces which is pretty easy too. For instance, if you wanted your elements to be in a particular namespace, you'd just need:

XNamespace ns = "http://your/namespace/here";
var xml = new XElement(ns + "Orders",
    orders.Select(order =>
        new XElement(ns + "Order",
... (rest of code as before)

LINQ to XML is the best XML API I've worked with... it's great for querying too.

这篇关于最佳.NET方法来创建一个XML文档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆