我有一個簡單的XML
:XSLT - 添加命名空間節點XML
<RequestResponse>
<RequestResult>
<FinalResponse>
<Message>Request inserted successfully.</Message>
<Response>true</Response>
</FinalResponse>
</RequestResult>
</RequestResponse>
我用XSLT
包括FinalResponse成CDATA
(字符串):
<RequestResponse>
<RequestResult>
<![CDATA[<FinalResponse>
<Message>Request inserted successfully.</Message>
<Response>true</Response>
</FinalResponse>]]>
</RequestResult>
</RequestResponse>
然後我用另一種XSLT
更多使用我想要的命名空間將XML
轉換爲SOAP
:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<RequestResponse>
<RequestResult>
<![CDATA[
<FinalResponse>
<Message>Request inserted successfully.</Message>
<Response>true</Response>
</FinalResponse>
]]>
</RequestResult>
</RequestResponse>
</s:Body>
</s:Envelope>
我需要添加此標記/命名空間:xmlns="http://tempuri.org/"
到RequestResponse
節點,但僅是這樣的節點:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<RequestResponse xmlns="http://tempuri.org/">
<RequestResult>
<![CDATA[
<FinalResponse>
<Message>Request inserted successfully.</Message>
<Response>true</Response>
</FinalResponse>
]]>
</RequestResult>
</RequestResponse>
</s:Body>
</s:Envelope>
如何我該元素僅添加到該節點?
你誤會命名空間是如何工作的。在你的輸出中,'RequestResult'元素繼承爲其父'RequestResponse'元素聲明的默認名稱空間。您必須將這兩個元素放在相同的名稱空間中,而不僅僅是父級。 –