簡體   English   中英

ASP.net MVC,C#中的XML名稱空間

[英]XML namespace in ASP.net MVC, C#

我正在嘗試使用這樣的名稱空間來生成XML文件:

<namespace:Example1>
    <namespace:Part1>Value1</namespace:Part1>
</namespace:Example1>

我試過使用

    [XmlAttribute(Namespace = "namespace")]
    public string Namespace { get; set; }

但我顯然缺少了一些東西。 我使用的結構是

[XmlRoot("Example1")]
public class Blah 
{
    [XmlAttribute(Namespace = "namespace")]
    public string Namespace { get; set; }

但我得到的只是

<Example1>
    <Part1>Value1</Part1>
</Example1>

任何幫助將不勝感激。

編輯:

[XmlRoot(ElementName="Chart2",  Namespace="vc")]

不起作用。

您可以使用XmlSerializerNamespaces類在xml中添加給定名稱空間的前綴。

希望以下代碼對您有幫助。

    [XmlRoot(ElementName = "Example1")]
        public class Blah
        {
            public string Part1 { get; set; }
        }

            Blah bl = new Blah();
            bl.Part1 = "MyPart1";
            // Serialization

            /* Create an XmlSerializerNamespaces object and add two prefix-namespace pairs. */
            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
            ns.Add("namespace", "test");

            XmlSerializer s = new XmlSerializer(typeof(Blah),"test");
            TextWriter w = new StreamWriter(@"c:\list.xml");
            s.Serialize(w, bl,ns);
            w.Close();
/* Output */
<?xml version="1.0" encoding="utf-8"?>
<namespace:Example1 xmlns:namespace="test">
  <namespace:Part1>MyPart1</namespace:Part1>
</namespace:Example1>

您可以在Model.cs上嘗試一下嗎:

復制整個XML,然后在Model.cs上:編輯>選擇性粘貼>將XML粘貼為類。

可能會幫助您。 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM