Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在xml元素中添加冒号?Linq到xml C#_C#_Xml_Linq - Fatal编程技术网

如何在xml元素中添加冒号?Linq到xml C#

如何在xml元素中添加冒号?Linq到xml C#,c#,xml,linq,C#,Xml,Linq,我正在从linq查询生成一个XML文件。xml元素是生成的,但是我想在每个元素中添加一个前缀,这样会产生如下结果:- XDocument xDoc =null; xDoc = new XDocument( new XDeclaration("1.0", "utf-8", "yes"), new XElement("EmpLists", new XElement("Em

我正在从linq查询生成一个XML文件。xml元素是生成的,但是我想在每个元素中添加一个前缀,这样会产生如下结果:-

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>

1.
山姆
男性的
考克斯街7A号
阿坎波
加利福尼亚州
95220
2.
露西
女的
杰斯湾
阿尔塔
加利福尼亚州
95701

如果要使用名称空间,请参阅类似的名称空间。您需要实例化
XNamespace
的一个实例,并将其用作
XAttribute
,使用
新的XAttribute(XNamespace.Xmlns+“CP”,ns)

如果要使用名称空间,请参阅类似的名称空间。您需要实例化
XNamespace
的实例,并使用
new-XAttribute(XNamespace.Xmlns+“CP”,ns)

将其用作
XAttribute
,这对我很有用:

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>

1.
山姆
男性的
这对我很有用:

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>

1.
山姆
男性的

(我不是dotnetter,因此如果这没有帮助,我会让其他人来构建实际答案)(我不是dotnetter,因此如果这没有帮助,我会让其他人来构建实际答案)您的示例非常有用,实际上与“谜”的解决方案相同。谢谢你@Xmare2很乐意帮忙!:)您的示例非常有用,实际上与“谜”的解决方案相同。谢谢你@Xmare2很乐意帮忙!:)