如何写符号“<” “>” 中在带有C#的XML文件中

时间:2015-12-08 15:46:20

标签: c# xml

我需要帮助完成我的任务,现在我正在使用C#开发一个网站,我需要自动创建XML标签,特殊标签中的文本,我得到所有数据并将其添加到数组中我创造了所有的句子,现在我的结果很好。

我的结果如下:

double M = <M>2.0</M>
double C = <C>0.59</C>
double D = <D>0.48</D>
double E = <E>0.69</E>

但是现在我的问题是下一个,当我尝试将信息保存到XML文件时,我有两个问题。

1.-我无法在labes之间写出变量声明。 2.-当我将信息保存到XML时,“&lt;”的符号和“&gt;”,对(&gt;&lt;)进行了更改。

有一种方法可以保存结果:

double M = <M>2.0</M>
double C = <C>0.59</C>
double D = <D>0.48</D>
double E = <E>0.69</E>

或者这些是不可能的?

感谢您的时间

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

<root><![CDATA[
double M = <M>2.0</M>
double C = <C>0.59</C>
double D = <D>0.48</D>
double E = <E>0.69</E>
]]></root>

然后在您的代码中执行此操作:

XElement root = new XElement("root", new XCData(@"
double M = <M>2.0</M>
double C = <C>0.59</C>
double D = <D>0.48</D>
double E = <E>0.69</E>
"));

答案 1 :(得分:0)

我不确定你的问题在哪里 - 大概是因为你将XML放在一起的方式。我刚刚把它搞砸了,它运作得很好:

class Program
{
    static string GetData()
    {
        return "double M = <M>2.0</M>" +
               "double C = <C>0.59</C>" +
               "double D = <D>0.48</D>" +
               "double E = <E>0.69</E>";
    }

    static void Main(string[] args)
    {
        XmlDocument doc = new XmlDocument();
        var variablesAndFunctions = doc.CreateElement("VariablesAndFunctions");
        doc.AppendChild(variablesAndFunctions);

        var constraints = doc.CreateElement("Constraints");
        constraints.InnerXml = GetData();
        variablesAndFunctions.AppendChild(constraints);

        Console.WriteLine(doc.OuterXml);
        Console.ReadLine();
    }
}

关键是将元素的InnerXml属性设置为从GetData函数返回的Xml内容。应该也适合你。