使用java在XML中查找特定子项

时间:2015-08-21 00:59:43

标签: java xml

我一直在寻找过去几个小时,我找不到怎么做。

我的XML文件:

SPFile file = ds.Files.Add(ds.Url + @"\" + record.Name, data, true);
file.Item["Created_x0020_By"] = "test";
file.Item[SPBuiltInFieldId.Author] = "testauthor";
file.Item[SPBuiltInFieldId.Editor] = "test editor";
file.Item.Update();

基本上,我希望代码不仅可以找到一个公司块中的名称,还可以找到我希望的任何公司块中的名称,并且能够将其显示给其他类。到目前为止,我已经能够显示或者,但只能通过直接更改代码而不是动态显示。我正在使用的代码:

<list>
	<Company id="01">
		<Name>Atari</Name>
		<Founded>1972</Founded>
		<Consoles>
			2600
			5200
			7800
		</Consoles>
	</Company>
	<Company id="02">
		<Name>Sega</Name>
		<Founded>1960</Founded>
		<Consoles>
			Master System
			Megadrive
			Saturn
		</Consoles>
	</Company>
</list>

我使用了很多不同的方法,有些是我自己搜索过的,有些是我自己制作的,但是这个方法是我能够为我所需要的最接近的方法。我需要能够拥有它在飞行中看起来变化的地方。

1 个答案:

答案 0 :(得分:0)

您可以使用xpath读取XML。请参阅Parsing XML with XPath in Java和/或How to read XML using XPath in Java

在您的情况下,如果您想获取所有公司名称,您将使用的设置路径(基本上是标签过滤器)将是&#34; // list / Company / Name / text()&#34;

其余代码基本上可以从我发布的问题中复制出来。只有您的设置(过滤器)会有所不同。