如何将 xml 内容显式分配给字符串

Posted

技术标签:

【中文标题】如何将 xml 内容显式分配给字符串【英文标题】:How to assign xml content to a string explicitly 【发布时间】:2013-07-13 02:47:00 【问题描述】:

你知道我如何明确地将 xml 内容分配给字符串吗? 示例:

string myXml = "
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
"

我想这样做,但文件要大得多。我需要它是因为我想在我的单元测试中使用它,但是当我尝试在引号之间粘贴内容时它会显示很多错误。

【问题讨论】:

【参考方案1】:

你需要verbatim string literal(以@符号开头的字符串)和转义引号(即使用双""而不是单"):

        string myXml = @"
<?xml version=""1.0""?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
";

【讨论】:

【参考方案2】:

用途:

string myXml = @"
    <?xml version=""1.0""?>
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    ";

或者只是将 XML 存储在一个文件中,然后在运行时使用 File.ReadAllText() 将其加载到变量中:

string myXml = File.ReadAllText("test.xml");

【讨论】:

我一直在考虑文件存储的选项。我想知道将 xml 文件保存在我的解决方案中是否是一种不好的做法?我想知道将它存储在某个地方以便我可以阅读正确的方式。 我相信在你的代码中存储 XML 是你所有选项中最不好的实践:)

以上是关于如何将 xml 内容显式分配给字符串的主要内容,如果未能解决你的问题,请参考以下文章

将字符串值分配给 InnerText XML 属性值

如何将xml文档作为字符串传递给asp.net webservice

如果 Freemarker 中不存在 XML 节点,则分配空字符串

未分配给列表视图项的字符串

如果一个为空白,如何将变量分配给两个字符串之一?

如何重写此代码,将字符串列表分配给字符串对象的集合?