C# 如何在LINQ to XML中生成具有给定属性的XML头?
我需要使用LINQ to XML和C#复制以下XML头文件: 给了我一些我需要的东西C# 如何在LINQ to XML中生成具有给定属性的XML头?,c#,.net,xml,linq,linq-to-xml,C#,.net,Xml,Linq,Linq To Xml,我需要使用LINQ to XML和C#复制以下XML头文件: 给了我一些我需要的东西 <ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com"> 但我得到的结果如下,奇怪的p1出现了 <ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com" p1:schemaLocation="fhrb file:/fhrb.xsd" xmlns:p1
<ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com">
但我得到的结果如下,奇怪的p1出现了
<ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com" p1:schemaLocation="fhrb file:/fhrb.xsd" xmlns:p1="http://www.w3.org/2001/XMLSchema-instance">
问题是:如何通过LINQ到XML复制所需的头格式?这些属性的出现/消失/命名背后的逻辑是什么 试试这个:
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XNamespace ns0 = "fhrb";
XElement myTree = new XElement(ns0 + "Subject_Sample",
new XAttribute(XNamespace.Xmlns + "xsi", xsi),
new XAttribute(XNamespace.Xmlns + "ns0", ns0),
new XAttribute(xsi + "schemaLocation", "fhrb file:FHRB_NEW_SUBJECT_SAMPLE.xsd")
);
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XNamespace ns0 = "http://www.adventure-works.com";
XElement myTree = new XElement(ns0 + "Subject_Sample",
new XAttribute(XNamespace.Xmlns + "ns0", "http://www.adventure-works.com" ),
new XAttribute(xsi+"schemaLocation", "fhrb file:/fhrb.xsd"));
<ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com" p1:schemaLocation="fhrb file:/fhrb.xsd" xmlns:p1="http://www.w3.org/2001/XMLSchema-instance">
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XNamespace ns0 = "fhrb";
XElement myTree = new XElement(ns0 + "Subject_Sample",
new XAttribute(XNamespace.Xmlns + "xsi", xsi),
new XAttribute(XNamespace.Xmlns + "ns0", ns0),
new XAttribute(xsi + "schemaLocation", "fhrb file:FHRB_NEW_SUBJECT_SAMPLE.xsd")
);