怎样用java读取XML子节点的信息

试验读取提取了MPEG-7特征信息的XML文档,先用提取基本信息打印来检验,发现连这一步都通不过,之前用简单的XML做过实验很正常,尝试读取第一层的子节点,屏蔽了几行代码... 试验读取提取了MPEG-7特征信息的XML文档,先用提取基本信息打印来检验,发现连这一 步都通不过,之前用简单的XML做过实验很正常,尝试读取第一层的子节点,屏蔽了几行 代码如下,可是发现即使是对第一层的子节点连读取属性值好像都不行,不了解其中的 xsi作用,尝试过简单地修改XML文档把属性xsi:去掉后试验,仍然通不过,指示的第一 行异常行就是下文用@标记的行。(p.s. root为提取的XML文件根节点)

如能解决问题可增加悬赏,实在是从来没人回答我的提问,之前白白损失了几百的财富值,所以现在没有设置高悬赏。

个人读取信息段代码如下(试验最终目的是为了提取VisualDescriptor元素下的信息):
public void getDescriptorInformation(Element root){
Element midElement1=root.getChild("Description");
// Element midElement2=midElement1.getChild("MultimediaContent");
// Element midElement3=midElement2.getChild("Image");
//获得元素Image下所有名为"VisualDescriptor"的子节点,这些节点被储在 List中
// List list= midElement3.getChildren("VisualDescriptor");
//对List中的节点进行循环处理
// for (int i= 0; i< list.size(); i++){
//获得第i个VisualDescriptor节点类型并打印
// Element visualdescriptor = (Element)list.get(i);
@ String type=visualdescriptor.getAttributeValue("xsi:type");
String type=midElement1.getAttributeValue("type");
System.out.println("VisualDescriptor type is "+type);
// }
}

XML文档简略如下:
<?xml version="1.0" encoding="UTF-8"?>
<Mpeg7 xmlns="urn:mpeg:mpeg7:schema:2001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance >

<DescriptionMetadata>
……(略)
</DescriptionMetadata>
<Description xsi:type="ContentEntityType">
<MultimediaContent xsi:type="ImageType">
<Image>
<MediaInformation>
……(略)
</MediaInformation>
<CreationInformation>
……(略)
</CreationInformation>
<Semantic>
……(略)
</Semantic>
<VisualDescriptor xsi:type="ColorLayoutType">
……(略)
</VisualDescriptor>
<VisualDescriptor xsi:type="ScalableColorType" numOfBitplanes Discarded="0" numOfCoeff="256">
……(略)
</VisualDescriptor>
……(略)
</Image>
</MultimediaContent>
</Description>
</Mpeg7>
展开
 我来答
tianjigeng
2010-05-20 · TA获得超过593个赞
知道小有建树答主
回答量:387
采纳率:0%
帮助的人:0
展开全部
把完整代码贴上来, 我在本地跑了试试。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式