在这里,我需要为肥皂请求创建XML。它可能有多个用户ID标签,如下所示。

<userid>123</userid>
<userid>456</userid>
...


下面是将代码添加到XML中的代码。

SOAPElement userid1 = example.addChildElement("userid");
SOAPElement userid2 = example.addChildElement("userid");
userid1.addTextNode("123");
userid2.addTextNode("456");


上面的代码适用于两个userids,但不能超过两个,因此下面是将代码和值添加到XML的Java代码。

for(int i = 0; i < userids.length; i++){
    SOAPElement userid+i = example.addChildElement("userid");
    userid+i.addTextNode(userids[i]);
}


这里的问题是SOAPElement userid+i = example.addChildElement("userid");无法正常工作。

最佳答案

SOAPElement[] userid = new SOAPElement[userids.length]
for(int i=0; i<userids.length; i++){
        userid[i] = example.addChildElement("userid");
        userid[i].addTextNode(userids[i]);
    }


'userid + i'不是可接受的Java变量名称(标识符),因此您必须得到一个编译时错误,如我无法解析为变量。

更好的方法是使用值数组,可以使用上面列出的SOAPElement对象数组或其他Java集合的实现(例如List

另请阅读valid java identifier rules

09-10 08:46
查看更多