如何使用sax通过一次检查父标签和子标签来解析xml?

发布于 2024-11-03 15:34:07 字数 159 浏览 2 评论 0原文

你好 我想使用 sax 解析器解析 xml 文档。我想做的是检查外部标签和内部标签(例如:我在其他标签中也有相同的标签。例如。)所以我想根据外部标签获取数据,即在我们的例子中仅从标签或标签1获取数据。你能帮我吗?我可以在java中使用sax检查父标签和子标签吗???请帮帮我。

谢谢..

Hi
I want to parse an xml doc using sax parser. What i want to do is to check out both outer and inner tags(Eg: am having same tags in other tags also. like . ) so i want to get the data based on outer tag i.e only from tag or tag1 in our case. can u please help me with this? can i check both the parent and child tags using sax in java???? Please help me out.

Thanks..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煮茶煮酒煮时光 2024-11-10 15:34:07

编写一个 ContentHandler,利用 Stack 来保存嵌套元素的数据。在 StartElement 的开头执行 Stack.push,在 EndElement 的末尾执行 Stack.pop。使用仅保存元素名称的 Stack 或使用您自己的 Element 类的 Stack 来保存更多数据。

您还可以编写一个通用抽象 ContentHandler 来保存 Stack 并提供其后代方法来获取当前元素及其路径的各种信息。

Write a ContentHandler that utilises a Stack to hold data of nested elements. In the beginning of StartElement do Stack.push and in the end of EndElement do Stack.pop. Use a Stack holding just element names or Stack with your own Element class to hold more data.

You may also write a general purpose abstract ContentHandler that holds the Stack and provides its descendants methods for getting all kinds of information of the current element and its path.

分开我的手 2024-11-10 15:34:07

我认为你可以做的一种方法是,如果外部标签不同,那么当你获取外部标签时可以设置一些变量值,那么当涉及内部标签时可以检查该变量设置为哪个值并了解父标签。
因此

Ex: 
<x>
 <y/>
</x>
<z>
 <y/>
</z>

,在处理程序的 startElement() 中,您可以检查 name==x 是否,将变量值设置为 x(否则 z)。当你得到 y 时,检查变量设置为(x/z)。

I think one way you can do is, if the outer tags are different then when u get the outer tag can set some variable value, then when it comes to inner tag can check which value that variable is set to and know parent tag.
for

Ex: 
<x>
 <y/>
</x>
<z>
 <y/>
</z>

so in startElement() of handler you can check if name==x, set variable value to x( else z). when you get y, check what the variable is set to(x/z).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文