You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#代码移除XML内容中的大括号

C# 开发场景下移除XML内容首尾大括号的实现方案

待处理的输入示例

{<RESPONSE>   <RESPONSE_TEXT>Registered P_UK4EZI</RESPONSE_TEXT>   <RESULT>OK</RESULT>   <RESULT_CODE>-1</RESULT_CODE>   <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>   <MAC_KEY>KZzTDdNErHVNZzRRfKyrbuAj++J20IAF4XpmsmQFjdV7G4PauwHkUobkhEzjPRbD9GNUq5EtoOauxTSZHgsDeLx6FAWasSKb2FcsC7SMmCTV5VW4Wd5w+9tP1Hzy93wnedKPggExJbxA3BH8xvFjqvmiCHjB92fsPfHWXcqfMHhoRW8quA/B6jx44dm</MAC_KEY>   <MAC_LABEL>P_UK4EZI</MAC_LABEL>   <ENTRY_CODE>1570</ENTRY_CODE> </RESPONSE>}

实现方案

方案1:首尾字符裁剪(推荐,性能最高)

适用场景:确定大括号仅出现在XML内容的最开头和最末尾,且仅各存在1个

// 原始带大括号的XML字符串
string rawXml = "{<RESPONSE>此处为你的完整XML内容</RESPONSE>}";

// 仅移除首尾大括号
string cleanXml = rawXml.TrimStart('{').TrimEnd('}');

// 若需要同时清理首尾多余空白,可调整为
// string cleanXml = rawXml.Trim().TrimStart('{').TrimEnd('}').Trim();

该方法不会处理XML内容中间可能存在的大括号,仅清理首尾的目标字符,性能最优,适合绝大多数接口返回被额外包裹大括号的场景。

方案2:正则匹配提取XML内容

适用场景:不确定大括号的数量和位置,需要精准提取< >包裹的XML完整内容

using System.Text.RegularExpressions;

string rawXml = "{<RESPONSE>此处为你的完整XML内容</RESPONSE>}";
// 匹配从第一个<到最后一个>的完整XML内容
Match xmlMatch = Regex.Match(rawXml, @"<.*>$", RegexOptions.Singleline);
if (xmlMatch.Success)
{
    string cleanXml = xmlMatch.Value;
}

该方法会直接提取完整的XML节点内容,自动忽略外层所有非XML标签的包裹字符,兼容性更强。


处理后的标准XML结果示例

<RESPONSE>   <RESPONSE_TEXT>Registered P_UK4EZI</RESPONSE_TEXT>   <RESULT>OK</RESULT>   <RESULT_CODE>-1</RESULT_CODE>   <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>   <MAC_KEY>KZzTDdNErHVNZzRRfKyrbuAj++J20IAF4XpmsmQFjdV7G4PauwHkUobkhEzjPRbD9GNUq5EtoOauxTSZHgsDeLx6FAWasSKb2FcsC7SMmCTV5VW4Wd5w+9tP1Hzy93wnedKPggExJbxA3BH8xvFjqvmiCHjB92fsPfHWXcqfMHhoRW8quA/B6jx44dm</MAC_KEY>   <MAC_LABEL>P_UK4EZI</MAC_LABEL>   <ENTRY_CODE>1570</ENTRY_CODE> </RESPONSE>

内容的提问来源于stack exchange,提问作者vijayaraghavan Devaraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:07