从 xml 节点中删除空格而不是属性值

本文关键字:属性 空格 xml 节点 删除 | 更新日期: 2023-09-27 18:32:19

从下面输入xml,我应该得到输出xml,如前所述。

输入 XML

<BPSResponse>    <Response>      <Code>804</Code>      <Text>TagID value is not genuine.</Text>    </Response>  </BPSResponse>

输出 XML

<BPSResponse><Response><Code>804</Code><Text>TagID value is not genuine.</Text></Response></BPSResponse>

我正在通过XElement创建xml。

var bpsResponseXml = new XElement("BPSResponse");
            for (int i = 0; i < bpsResponseStatusCodes.Count; i++)
            {
                var bpsResponse = BPSResponseDictionary.GetBPSResponse(bpsResponseStatusCodes[i]);
                bpsResponseXml.Add(new XElement("Response",
                                    new XElement("Code", bpsResponse.Code),
                                    new XElement("Text", bpsResponse.Text)));
            }
            var outPutXml = bpsResponseXml.Value;

我想要输出上面格式的 xml。

从 xml 节点中删除空格而不是属性值

var doc = new System.Xml.XmlDocument()
{
    PreserveWhitespace = false
};
doc.LoadXml(xmlString);
string flat = doc.OuterXml;

我只需要在转换为字符串时禁用格式即可。下面是示例代码。

var bpsResponseXml = new XElement("BPSResponse");         
bpsResponseXml.Add(new XElement("Response",
                                    new XElement("Code", "804"),
                                    new XElement("Text", "TagID value is not genuine")));
var outPutXml = bpsResponseXml.ToString(System.Xml.Linq.SaveOptions.DisableFormatting);