用C语言将字符串转换为xml#

用C语言将字符串转换为xml#,xml,Xml,我已经使用Stringbuilder构建了一些xml标记。我想使用C#将这个Stringbuilder字符串转换为XML格式的字符串。下面我指定了输入字符串和预期的输出字符串 例: 输入: 预期产出: 我已经完成了这个转换的代码 例: StringBuilder ACTConfigXML=new StringBuilder(); ACTConfigXML.Append(“”); ACTConfigXML.Append(“”); ACTConfigXML.Append(“”); ACTConfi

我已经使用Stringbuilder构建了一些xml标记。我想使用C#将这个Stringbuilder字符串转换为XML格式的字符串。下面我指定了输入字符串和预期的输出字符串

例:

输入:
预期产出:
我已经完成了这个转换的代码

例:

StringBuilder ACTConfigXML=new StringBuilder();
ACTConfigXML.Append(“”);
ACTConfigXML.Append(“”);
ACTConfigXML.Append(“”);
ACTConfigXML.Append(“”);
ACTConfigXML.Append(“”);
XmlDocument_ACTGraphicalXMLDoc=新的XmlDocument();
_ACTGraphicalXMLDoc.LoadXml(ACTConfigXML.ToString());
ACTConfigXML=新的StringBuilder();
Append(_ACTGraphicalXMLDoc.OuterXml);
字符串configXML=ACTConfigXML.ToString();

在本例中,我不想使用“_ACTGraphicalXMLDoc.OuterXml”进行格式化。我想将“ACTConfigXML”数据转换为预期格式。

如果这是您的输入,则将其保存为XML文件。您不需要XML中的转义双引号(仅当您在程序中输入文本时才需要)。你的问题没有解释你尝试了什么,等等。也没有说明最终目标。

从你发布的内容来看,string.replace()可能会起作用

output = input.replace("{", "\"");
output = output.replace("\"", "\\\"");

您可以使用XmlDocument保存字符串。从字符串构建文档很少是个好主意。如果“\u WorkSheetName.ToString()”包含任何会破坏XML的内容(如“/>”),则您将自己设置为XML错误 在字符串或磁盘文件中创建模板XML文档,使用XmlDomDocument.loadXML加载到DOM中,更新所需的值/属性

string strXML = @"
<Configuration id='to be replaced' Landscape='True' PaperKind='A3' IsNewConfiguration='true'>
    <Worksheets>
        <Worksheet Name='to be replaced' Zoom='100' Lock='False' Default='False'/>
    </Worksheets>
</Configuration>";

XmlDocument xml = new XmlDocument();
xml.LoadXml( strXML );
XmlElement ndElement = xml.DocumentElement;
ndElement.SetAttribute( "id", System.Guid.NewGuid().ToString() );

XmlElement ndWorksheet = (XmlElement)xml.SelectSingleNode( "/Configuration/Worksheets/Worksheet" );
if( ndWorksheet != null ) {
    ndWorksheet.SetAttribute("Name", "Safe worksheet name <>'\"/>");
}

xml.Save( Response.OutputStream );
string strXML=@”
";
XmlDocument xml=新的XmlDocument();
LoadXml(strXML);
XmlElement ndElement=xml.DocumentElement;
SetAttribute(“id”,System.Guid.NewGuid().ToString());
xmlement ndsheet=(xmlement)xml.SelectSingleNode(“/Configuration/Worksheets/sheet”);
如果(工作表!=null){
ndWorksheet.SetAttribute(“名称”,“安全工作表名称“\”/>”);
}
Save(Response.OutputStream);
output = input.replace("{", "\"");
output = output.replace("\"", "\\\"");
string strXML = @"
<Configuration id='to be replaced' Landscape='True' PaperKind='A3' IsNewConfiguration='true'>
    <Worksheets>
        <Worksheet Name='to be replaced' Zoom='100' Lock='False' Default='False'/>
    </Worksheets>
</Configuration>";

XmlDocument xml = new XmlDocument();
xml.LoadXml( strXML );
XmlElement ndElement = xml.DocumentElement;
ndElement.SetAttribute( "id", System.Guid.NewGuid().ToString() );

XmlElement ndWorksheet = (XmlElement)xml.SelectSingleNode( "/Configuration/Worksheets/Worksheet" );
if( ndWorksheet != null ) {
    ndWorksheet.SetAttribute("Name", "Safe worksheet name <>'\"/>");
}

xml.Save( Response.OutputStream );