我開發利用澤西下,Tomcat和TopLink在Java中RESTful Web服務。我的一個要求替換的XML數據,我的「客戶」的服務回報與實際的XML數據的資源鏈接(人)(該人資源鏈接返回)。爲了實現這一目標,同時呼籲(GET方法)的客戶服務我從「人」的資源輸出的XML和刪除XML數據的<person>
和</person>
標籤(因爲我的「客戶」服務具有屬性「人」我想在這裏粘貼這個XML數據),並在「客戶」資源的「人物」屬性中設置此XML數據。轉換XML字符串轉換爲有效的XML在澤西XML輸出
這裏是我的輸出: 輸出從客戶服務返回:
<customer>
<person>http://localhost:8080/xxxx/resources/person/JONESTD</person>
<xxx>...... </xxx>
<xxx>...... </xxx>
......
......
......
</customer>
輸出從客戶服務返回時,我使用的查詢字符串複合=人(來代替實際數據 人資源URL),而調用此服務:
<customer>
<person><namePrefix>Mr.</namePrefix> <nameFirst>Timothy</nameFirst>
<nameLast>Jones</nameLast> <nameMiddle>D.</nameMiddle> <nameSuffix/>
<nameDisplayInformal>Timothy D. Jones</nameDisplayInformal> <nameDisplayFormal>Mr.
Timothy D. Jones</nameDisplayFormal> <nameSortedInformal>Jones, Timothy
D.</nameSortedInformal> <nameSortedFormal>Timothy, Jones D. Mr.</nameSortedFormal>
<username>JONESTD</username> <emailAddress>[email protected]</emailAddress> </person>
<xxx>...... </xxx>
<xxx>...... </xxx>
......
......
......
</customer>
正如你看到的,我在客戶資源的人屬性設置的XML字符串不正確縮進。如果我查看「查看源文件」,它顯示了這個輸出是這樣的:
<customer>
<namePrefix>Mr.</namePrefix>
<nameFirst>Timothy</nameFirst>
<nameLast>Jones</nameLast> <nameMiddle>D.</nameMiddle>
<nameSuffix/> <nameDisplayInformal>Timothy D.
Jones</nameDisplayInformal> <nameDisplayFormal>Mr. Timothy D.
Jones</nameDisplayFormal> <nameSortedInformal>Timothy, Jones
D.</nameSortedInformal> <nameSortedFormal>Timothy, Jones D.
Mr.</nameSortedFormal> <username>JONESTD</username>
<emailAddress>[email protected]</emailAddress>
<xxx>...... </xxx>
<xxx>...... </xxx>
.......
.......
.......
</customer>
我只在我的「人」屬性設置的人XML字符串看到這個<
和>
。我試過幾件事情(包括StringEscapeUtils.unescapeHtml)到<
和>
轉換成<
和>
(正確的XML)。但沒有爲我工作。你能否給我一些關於如何解決這個問題的想法?