当前位置: 首页 > 面试题库 >

使用属性获取元素

徐嘉勋
2023-03-14
问题内容

我正在使用Java解析Xml,我想在属性值的帮助下解析元素。

例如 <tag1 att="recent">Data</tag1>

在这种情况下,我想使用att值解析tag1数据。我是java和xml的新手。请引导我。


问题答案:

有多种方法可以做到这一点。您可以使用xPath(示例),DOM
Document或SAX Parser(示例)来检索属性值和标记元素。

这是您要求的解决方法。我从不建议使用“ hack”类型,而是使用SAX(请参见示例链接)。

public static Element getElementByAttributeValue(Node rootElement, String attributeValue) {

    if (rootElement != null && rootElement.hasChildNodes()) {
        NodeList nodeList = rootElement.getChildNodes();

        for (int i = 0; i < nodeList.getLength(); i++) {
            Node subNode = nodeList.item(i);

            if (subNode.hasAttributes()) {
                NamedNodeMap nnm = subNode.getAttributes();

                for (int j = 0; j < nnm.getLength(); j++) {
                    Node attrNode = nnm.item(j);

                    if (attrNode.getNodeType == Node.ATTRIBUTE_NODE) {
                        Attr attribute = (Attr) attrNode;

                        if (attributeValue.equals(attribute.getValue()) {
                            return (Element)subNode;
                        } else {
                            return getElementByAttributeValue(subNode, attributeValue);
                        }
                    }
                }               
            }
        }
    }

    return null;
}

PS: 未提供代码注释。它是作为练习给读者的。:)



 类似资料:
  • 问题内容: 我试图遍历一个元素并获取该元素的所有属性以输出它们,例如,一个标签可能具有3个或更多属性,我不知道,我需要获取这些属性的名称和值。我在考虑以下方面: 谁能告诉我这是否可能,如果可以,正确的语法是什么? 问题答案: 该属性包含它们全部: 您还可以做的是扩展,以便可以像获取所有属性的普通对象一样调用它: 用法:

  • 问题内容: 如何获得元素属性值? 例如HTML元素: JS: 非常感谢任何建议,请在此处进行JSFIDDLE演示:http : //jsfiddle.net/h3TFy/ 问题答案: 由于要将目标元素发送到函数,因此可以执行以下操作以获取ID:

  • 我使用Thymeleaf创建html组件。组件在单独的文件中声明: 中基本按钮的声明 这个想法是为组件提供某种类型的工具集。使用此组件的代码将是: 它运行良好,但我考虑了按钮需要具有以下属性的情况:或或任何其他属性。问题来了: 如何将属性传递给按钮? 一种方法是将其作为片段的参数传递,但它太丑了。 有什么方法可以获取片段中占位符的属性吗?(见下面的示例) 我想这样调用片段: 并且在片段中想要获取这

  • 我正在尝试访问容器的属性并获取图像URL。 问题是容器div最初是隐藏的,而图像url是动态添加的,并且容器是可见的。 当我尝试使用访问元素时,它返回给我。 html代码为: 此分区的CSS为: 但是,使用下面的代码可以获得url字符串: 使用以下代码动态添加图像容器“photo_holding”

  • 问题内容: 在某些元素具有自定义CSS属性的应用程序中,是否可以通过JavaScript检索此类值? 例如 我可以通过以下两种方法访问color属性: 但是这些不适用于自定义属性。完全支持吗? 问题答案: 浏览器无法理解的CSS值将被丢弃,这说明了为什么无法通过来获取CSS值。 过去,您不得不依靠存储具有数据属性的数据并自己通过JavaScript处理继承。 但是,自此以来,“自定义属性”(也称为

  • 检索给定节点resp的所有属性名(而不是属性值!)的Xpath表达式看起来如何。xml标签? 假设以下XML文档: Xpath//title/@*会选择“eng,fr,easyreading”,但哪个Xpath会选择“lang,lang,type”?