2015-03-25 107 views
1

我正在从linq查询生成一个XML文件。生成的XML元素,但是我想在每一个元素添加前缀,因此导致了一些事情,如下列: -如何在xml元素中添加冒号? LINQ到XML C#

XDocument xDoc =null; 

xDoc = new XDocument(
        new XDeclaration("1.0", "utf-8", "yes"), 
        new XElement("EmpLists", 
         new XElement("Employee", 
          new XElement("EmpId", '1'), 
          new XElement("Name", "Sam"), 
          new XElement("Sex", "Male")))); 

我应该怎么做才能具备的要素与它们的前缀打印“CP:”作为如下所示?

<?xml version="1.0" encoding="utf-8" ?> 
<CP:EmpLists> 
<CP:Employee> 
    <CP:EmpId>1</CP:EmpId> 
    <CP:Name>Sam</CP:Name> 
    <CP:Sex>Male</CP:Sex> 
    <CP:Address> 
     <CP:Street>7A Cox Street</CP:Street> 
     <CP:City>Acampo</CP:City> 
     <CP:State>CA</CP:State> 
     <CP:Zip>95220</CP:Zip> 
    </CP:Address> 
</CP:Employee> 
<CP:Employee> 
    <CP:EmpId>2</CP:EmpId> 
    <CP:Name>Lucy</CP:Name> 
    <CP:Sex>Female</CP:Sex> 
    <CP:Address> 
     <CP:Street>Jess Bay</CP:Street> 
     <CP:City>Alta</CP:City> 
     <CP:State>CA</CP:State> 
     <CP:Zip>95701</CP:Zip> 
    </CP:Address> 
</CP:Employee> 
</CP:EmpLists> 
+3

使用命名空间? – Bas 2015-03-25 01:06:17

+0

https://msdn.microsoft.com/en-us/library/bb387069.aspx(我不是一个dotnetter,所以我会留给其他人来构造实际的答案,如果这没有帮助) – Amadan 2015-03-25 01:07:42

回答

3

这个工作对我来说:

var url = "YOUR_NS_URL"; 
var ns = XNamespace.Get(url); 

var xDoc = 
    new XDocument( 
     new XDeclaration("1.0", "utf-8", "yes"), 
     new XElement(ns + "EmpLists", 
      new XAttribute(XNamespace.Xmlns + "CP", url), 
      new XElement(ns + "Employee", 
       new XElement(ns + "EmpId", '1'), 
       new XElement(ns + "Name", "Sam"), 
       new XElement(ns + "Sex", "Male")))); 

我得到这个XML:

<CP:EmpLists xmlns:CP="YOUR_NS_URL"> 
    <CP:Employee> 
    <CP:EmpId>1</CP:EmpId> 
    <CP:Name>Sam</CP:Name> 
    <CP:Sex>Male</CP:Sex> 
    </CP:Employee> 
</CP:EmpLists> 
+0

现在它也适用于我。谢谢! – Xmare2 2015-03-25 19:05:14

0

您将要使用一个命名空间,请参阅类似命名空间example。您将需要实例化一个实例XNamespace,并使用它作为XAttribute,使用new XAttribute(XNamespace.Xmlns + "CP", ns)

+0

你的示例非常有用,实际上与“Enigmativity”的解决方案相同。谢谢! – Xmare2 2015-03-25 19:09:54

+0

@ Xmare2乐意帮忙! :) – 2015-03-26 00:45:32