我有一个xml文档,里面有一个sql查询。让我们说它看起来像这样:
<commandText> Select ProductID, ProductName
From Product</commandText>
当它通过octopack运行并部署(通过章鱼部署)到我的服务器上时,它看起来像这样:
<commandText> Select ProductID, ProductName
 From Product</commandText>
(换行符已转换为

)
是否有一个xml转换我可以在进行此更改后将其转换回来? (或至少删除

)
注意:我的实际查询是一个复杂的合并声明,所以我宁愿不要在多个地方使用它。
答案 0 :(得分:1)
您正在寻找的是此处描述的XmlDocument的WHITESPACE PRESERVE功能https://msdn.microsoft.com/en-us/library/system.xml.xmldocument.preservewhitespace%28v=vs.110%29.aspx
第二种(也是最好的)方法是让XML自动解码。您使用错误的方法读出select语句;)
答案 1 :(得分:1)
不确定这是否有帮助,但如果我运行此代码(在Linqpad中)
string x = "<commandText> Select ProductID, ProductName
 From Product</commandText>";
var wrapper = new StringReader(x);
XmlReader xr = XmlReader.Create(wrapper);
xr.MoveToContent();
xr.ReadOuterXml().Dump();
我得到这个文字输出:
<commandText> Select ProductID, ProductName
From Product</commandText>
因此,如果您在服务器上使用XmlReader,则不需要通过转换操作实体。 XmlReader应该很好地解释它们。不确定这是不是问题......