簡體   English   中英

如何更改java中xml中元素的值?

[英]How to change the value of an element in xml in java?

我有以下代碼解析 xml 並獲取元素的值:

        NodeList elem = dom.getElementsByTagName("quantity");
        LOG.info("elem.getLength: " + elem.getLength());
        int quantity = -1;
        for (int i = 0; i < elem.getLength(); i++) {
            Element linenl_quantity = (Element) elem.item(i);
            LOG.info(linenl_quantity.getAttributes().getNamedItem("value").getNodeValue());
            quantity = toInteger(linenl_quantity.getAttributes().getNamedItem("value").getNodeValue());
            linenl_quantity.setAttribute("value", String.valueOf(quantity));
        }

當我調用linenl_quantity.setAttribute("value", String.valueOf(quantity))出現以下錯誤:

org.springframework.web.util.NestedServletException:請求處理失敗; 嵌套異常是 java.lang.IllegalStateException: getWriter() 已經為此響應調用

我需要元素<quantity value="1.0" />的浮點值並將其更改為<quantity value="1" /> 我設法獲得了價值,但我該如何改變它?

我找到了解決方案。

我編輯了如下代碼並將其移至另一個 class (文件)。

NodeList elem = dom.getElementsByTagName("quantity");
int quantity = -1;
for (int j = 0; j < elem.getLength(); j++) {
    Element linenl_quantity = (Element) elem.item(j);
    quantity = (int)Double.parseDouble(linenl_quantity.getAttributes().getNamedItem("value").getNodeValue());
    LOG.info(String.valueOf(quantity));
}

暫無
暫無

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

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