Как установить значение атрибута в XML с помощью JAVA - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу установить значение атрибута в xml, имеющем xpath как: // Trade [@cancel], не имеет значения, какое значение установлено ранее, но какое бы значение я ни отправил, оно должно быть установлено

я получаю проблему как Нет подписи метода: org.apache.xml.dtm.ref.DTMNodeList.setAttribute () применима для типов аргументов: (java.lang.String, java.lang.String) значения: [cancel, true] ошибка в строке: 26

, даже если я не хочу передавать существующее значение атрибута cancel: ("// Trade [@ cancel = 'true']", но я хочу установить некоторое значение для отмены.как это сделать

enter code here

def file = """<DATA>
  <ASSET tid="4" AssetType="Loan">
    <Identifier tdes="FCSAstID" id="26415" />
    <Identifier tdes="CUSIP" id="13134MBN2" />
    <TRADEGROUP referenceticketid="YYasdfg"  />
    <TRADE LtdEventPubId="374104" Isname="true" cancel="false" value="30" positiontype="Assignment" quantity="50000.0000000000" >

    </TRADE>
</DATA>"""



Document doc = DocumentBuilderFactory.newInstance()
        .newDocumentBuilder().parse(file);

XPath xpath = XPathFactory.newInstance().newXPath();
NodeList  nodes = (NodeList)xpath.evaluate("//Trade[@cancel='true']",doc, 
XPathConstants.NODESET);

nodes.setAttribute("cancel","true")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...