簡體   English   中英

如何使用XSD從XML響應中刪除名稱空間前綴?

[英]How to remove namespace prefix from XML response using XSD?

我從XSD生成了Java類,在XML響應中,我得到了一個ns2:前綴,我不需要。

例如,我得到以下響應:

<ns2:location xmlns:ns2="http://www.example.com/">
  <ns2:response/>
</ns2:location>

但是我期望的響應如下:

<location>
  <response/>
</location>

您的示例不僅顯示了不希望使用的名稱空間前綴ns2 )聲明,而且還顯示了實際的名稱空間locationresponse元素為http://www.example.com/ )。

如果您完全控制XSD,則可以刪除

targetNamespace="http://www.example.com/"

XSD中xs:schema元素的屬性。 符合此XSD的XML文檔的元素將不再位於任何名稱空間中,並且您生成的Java類將反映此新設置。

但是,請注意,刪除(或更改) targetNamespace有效地更改XSD中定義的組件的名稱。 如果XSD是由另一方定義或由其他方使用,則請三思而行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM