2015-03-25 127 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