如何从XmlReader中删除“\ r \ t \ t”转义字符

时间:2012-03-22 14:28:12

标签: c# xml-parsing

XmlReader读取外部Xml,如何删除输出中的空格(“\ n \ t \ t”)?

using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open)))
{
    while (reader.Read())
    {
        if (reader.NodeType == XmlNodeType.Element)
        {
            if (reader.Depth == 1)
            {
                var xe = XNode.ReadFrom(reader) as XElement;
                XElement.Parse(xe.ToString(), LoadOptions.None);

                var reader2 = xe.CreateReader();
                reader2.MoveToContent();
                var content = reader2.ReadOuterXml(); 
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

尝试使用XmlReaderSettings:

var readerSettings = new XmlReaderSettings
{
    IgnoreWhitespace = true,
};

using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open), readerSettings))
{
    //...
}

答案 1 :(得分:0)

string.Replace(@“\ n \ t \ t”,“”);

答案 2 :(得分:0)

尝试此功能:

编辑:不是一个功能;我不知道发生了什么事。

reader.WhitespaceHandling = WhitespaceHandling.None;