[ad_1]
Je souhaite réduire l’espace dans la chaîne XML à l’exclusion de l’en-tête de l’espace de noms XML en C#. Ma chaîne XML est la suivante. Je souhaite supprimer uniquement les valeurs du nœud XML, à l’exclusion de l’en-tête de l’espace de noms (getInstallmentHistoryReply xmlns:NS1=”urn:esbbank.com/gbo/xml/schemas/v1_0/”)
<getInstallmentHistoryReply xmlns:NS1="urn:esbbank.com/gbo/xml/schemas/v1_0/"> <eAI_HEADER> <serviceName>GET.FINANCE.DETAIL</serviceName> <serviceType>SYNC</serviceType> <serviceVersion>1.0</serviceVersion> <client>ADIB</client> <clientChannel>DDS</clientChannel> <msgChannel>HTTP</msgChannel> <requestorLanguage>E</requestorLanguage> <securityInfo> <authentication> <UserId>DDS</UserId> <Password>XXXXXXXXXX</Password> </authentication> </securityInfo> <returnCode>0000</returnCode> </eAI_HEADER> </getInstallmentHistoryReply>
Ce que j’ai essayé :
Mon code est comme ci-dessous
string ResponseXML_Updated = ResponseXML.Replace("NS1:getInstallmentHistoryReply", "getInstallmentHistoryReply"); string ResponseXML_Trimmed = System.Text.RegularExpressions.Regex.Replace(ResponseXML_Updated, @"(([^\s]+)\s+)", "$2"); System.Xml.XmlDocument xd1 = new System.Xml.XmlDocument(); xd1.LoadXml(ResponseXML_Trimmed);
Solution 1
Deux choses : premièrement, vous devez supprimer le <pre>
à partir de votre fichier XML ou il ne sera pas traité avant même que vous commenciez à le “découper”.
Deuxièmement, vous ne pouvez pas supprimer aveuglément tous les espaces : si vous regardez la chaîne que vous avez générée :
<getInstallmentHistoryReplyxmlns:NS1="urn:esbbank.com/gbo/xml/schemas/v1_0/"><eAI_HEADER><serviceName>GET.FINANCE.DETAIL</serviceName>...
vous pouvez voir que ce n’est pas du XML valide : il a besoin d’un espace entre le getInstallmentHistoryReply
étiquette et le xmlns:
l’attribut ou l’ensemble ressemble à un nom d’attribut plus long sans aucune balise appropriée qui le précède.
Je vous suggère de modifier votre expression régulière pour supprimer uniquement les espaces après un >
marqueur de fin de balise
[ad_2]
コメント