我在javascripts和java中阅读了xml文件,在javascripts中我读得很好,但是在java中我发现很难,这是我的xml文件的一部分:

<Objects>
<TemplateDef title="false" >
<fields relType="0">
<TemplateField  englishName="Login" >
<fieldType relType="2">
<TemplateFieldType  visibleName="String" realType="String" />
</fieldType>
</TemplateField>
<TemplateDef title="false" >
<fields relType="0">
<TemplateField  englishName="Login1" >
<fieldType relType="2">
<TemplateFieldType  visibleName="int" realType="int" />
</fieldType>
</TemplateField>
</TemplateDef >
</Objects>


我想访问“ visibleName”的属性,可以通过以下代码在javascript中进行操作:

var obj1 = xmlDoc.getElementsByTagName("TemplateDef");
                        objattr=obj1[1].getElementsByTagName("TemplateField");
                          for (var i = 0; i< objattr.length; i++)
                          {
                              //alert(y[5].getAttribute('name'));
                              if(objattr[i].getAttribute('name')!==null&&objattr[i].childNodes[0].childNodes[0].getAttribute('visibleName')!==null)
                                  {
                                  }
                          }


但是我尝试用Java编写相同的代码来访问属性“ visiablename”,但是我在Java中尝试失败:

            Element  nodeclass =(Element) nList.item(1);
                NodeList nList1 = nodeclass.getElementsByTagName("TemplateField");
                  for (int i = 0; i< nList1.getLength(); i++)
                  {
                      Node tempnode = nList1.item(i);
                      if (tempnode.getNodeType() == Node.ELEMENT_NODE ) {

                            Element eElement = (Element) tempnode;
                            if(eElement.getAttribute("name")!=null && eElement.getFirstChild().getFirstChild().getAttribute("visibleName")!=null)
// here error because getAttribute not take parameter as string
                               {

                               }
                      }


这里的编译器错误
eElement.getFirstChild()。getFirstChild()。getAttribute(“ visibleName”)!= null)
//这里是错误的,因为getAttribute不将参数作为字符串

那么有人可以帮我用Java编写代码吗?

最佳答案

尝试转换为Element:

Element e = (Element)eElement.getFirstChild().getFirstChild();
String visibleName = e.getAttribute("visibleName");

关于java - 如何在xml文件中获取Java中子级的属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45210286/

10-10 18:10