首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XmlDocument InnerXml格式设置

XmlDocument InnerXml格式设置
EN

Stack Overflow用户
提问于 2011-12-13 01:03:32
回答 1查看 1.5K关注 0票数 0

我有一个文档,我正在替换某个节点的内部XML:

代码语言:javascript
复制
    var xmlReplacement = File.ReadAllText(path); // this xml is well formatted with indentations itself, but not indented at the correct level for the document it's about to be inserted into

    var document = new XmlDocument();
    document.PreserveWhitespace = true;
    document.Load(path);

    // replace inner xml of ContainingNode
    var node = document.SelectSingleNode("//ContainingNode");
    node.InnerXml = xmlReplacement;

    // write back to the output file
using (var writer = new XmlTextWriter(path, null))
{
    writer.Formatting = Formatting.Indented;
    document.WriteTo(writer);
}

我最终得到了新的内部xml无缩进(一直到左边)和与替换xml节点的close在同一行上的close节点。

我怎么才能把这事做好呢?

EN

回答 1

Stack Overflow用户

发布于 2011-12-13 01:18:16

类似这样的东西可能会起到作用。让模式为您做缩进工作。

代码语言:javascript
复制
var node = document.SelectSingleNode("//ContainingNode");

node.RemoveAll();
using (var tr = XmlReader.Create(xmlReplacement))
{
    while (tr.Read())
    {
        node.AppendChild(tr);
    }
}

EDIT:更改为删除过时的XmlTextReader EDIT 2:更改为使用using

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8477957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档