当前位置:编程学习 > C#/ASP.NET >>

XML属性换行

我有一个XML文件,格式如下:

<?xml version="1.0" encoding="utf-16"?>
<ScriptCommands>
  <ScriptCommand
    Time="00:00:00"
    Command="打印 PerformancePoint 仪表板十分简单。"
    Type="caption" />
</ScriptCommands>

仅仅读取Command属性,并在其前面加了“ ”后,再次保存该XML格式变成如下:

<?xml version="1.0" encoding="utf-16"?>
<ScriptCommands>
  <ScriptCommand Time="00:00:00" Command=" 打印 PerformancePoint 仪表板十分简单。" Type="caption" />
</ScriptCommands>

原来ScriptCommand的属性是换行的,保存后属性全连一行了,如何才能保证XML编辑之后,保存的格式跟原始格式完全一样呢?难道我读写XML操作方法不对吗?那用什么方法才能保证保存前后格式不变呢?望高手指教,十分感谢!!

我的代码如下:

        Dim xmlDoc As New System.Xml.XmlDocument
        Dim xmlNodeList As System.Xml.XmlNodeList
        Dim XmlElement As System.Xml.XmlElement
        Dim intCount As Integer

        xmlDoc.Load("D:\Temp\PPS-PrintADashboard_VC101823133.xml")
        xmlNodeList = xmlDoc.GetElementsByTagName("ScriptCommands")
        If xmlNodeList(0).ChildNodes.Count <> 0 Then
            For intCount = 0 To xmlNodeList(0).ChildNodes.Count - 1
                XmlElement = xmlNodeList(0).ChildNodes(intCount)
                XmlElement.SetAttribute("Command", " " + XmlElement.GetAttribute("Command"))
            Next
        End If
        xmlDoc.Save(TxtFile) --------------------编程问答-------------------- 对于有回车换行的节点,用
dim doc as new XmlDocument 
doc.CreateTextNode
你可以考虑序列化为DataTable,然后使用DataTable的LoadXml/SaveXml方法。 --------------------编程问答-------------------- 重写XML吗? --------------------编程问答-------------------- 不懂,还请高手们再次指教,谢谢! --------------------编程问答-------------------- 没人吗 --------------------编程问答-------------------- 问题出在这里:
XmlElement.SetAttribute("Command", " " + XmlElement.GetAttribute("Command"))
不应该用XmlElement,你应该获取Command所性对象操作,就是XmlElement指定的这个Attribute,我很久没有动过Xml了,具体实现方法说不上来了 --------------------编程问答-------------------- 不应该用这个XmlElement,你应该获取Command的所属对象
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,