我在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”的属性我可以通过代码在javascripts中执行:
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中编写代码吗?
答案 0 :(得分:1)
尝试转换为元素:
Element e = (Element)eElement.getFirstChild().getFirstChild();
String visibleName = e.getAttribute("visibleName");