-1
私は、XMLとC#にLINQを使用して、次のXMLヘッダを再現することが必要で午前:LINQ-to-XMLで指定された属性を持つXMLヘッダーを作成する方法は?
<ns0:Subject_Sample xmlns:ns0="fhrb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="fhrb file:FHRB_NEW_SUBJECT_SAMPLE.xsd" >
まず問題は、私は.NETのヘルプ例を適応させる際に、物事が私のヘッダから消え始めるということです。たとえば:
XElement myTree = new XElement(ns0 + "Subject_Sample",
new XAttribute(XNamespace.Xmlns + "ns0", "http://www.adventure-works.com")
);
は、何らかの理由で、私は
<ns0:Subject_Sample xmlns:ns0="http://www.adventure-works.com">
を必要とするもののようなものを提供しますが、私は文字列にウェブURLからXAttributeパラメータを変更した場合(例えば、「fhrb」)「NS0:」から消えますタグ(ns0:Subject_SampleはSubject_Sampleになります)。その後
、私は次のコードでschemaLocation属性を作ってみることにしました:
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"));
が、次のように私が得た結果だった、奇妙な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">
質問です:私はXMLにLINQによってヘッダの必要な形式を再現することができますか?そして、これらの属性の外観/消滅/命名の背後にある論理は何ですか?