使用c#将XML文件转换为基于其他模式的XML文件

时间:2017-11-02 08:45:15

标签: c# xml xsd xml-parsing xsd-validation

是否可以使用c#?

根据其他模式XSD重写XML文件

这是XML文件

this is XML file

这是当前的架构XSD文件 current schema XSD file

这是新架构,但改变了节点名称

new schema

那么如何使用c#基于新的XSD从旧的XML中获取新的XML?

1 个答案:

答案 0 :(得分:0)

使用xml linq:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;


namespace ConsoleApplication13
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            XDocument doc = XDocument.Load(FILENAME);

            List<XElement> shipTo = doc.Descendants("shipto").ToList();

            foreach (XElement ship in shipTo)
            {
                ship.Element("name").ReplaceWith(new XElement("FullName", (string)ship.Element("name")));
                ship.Element("address").ReplaceWith(new XElement("FirstAddress", (string)ship.Element("address")));
                ship.Element("city").ReplaceWith(new XElement("homeTown", (string)ship.Element("city")));
                ship.Element("country").ReplaceWith(new XElement("HomeLand", (string)ship.Element("country")));

            }

        }

    }

}