当前位置: 首页 > 知识库问答 >
问题:

使用java从xslt文档中检索所有xsl:element和xsl:attribute标记的name属性值

韦智刚
2023-03-14

我必须从xslt文档中打印所有xsl:element和xsl:attribute标记的名称属性值。

下面是我的示例XSL:

 <?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">

<xsl:strip-space elements="*" />

<xsl:template match="*">
<xsl:element name="TransactionDateTime">
<xsl:value-of select="@TRANSACTIONDATETIME"/>
</xsl:element>
<xsl:element name="ChangeIndicator">
<xsl:value-of select="@CHANGEINDICATOR"/>
</xsl:element>
</xsl:template>    

</xsl:stylesheet>
DocumentBuilderFactory factory = 
              DocumentBuilderFactory.newInstance();

            DocumentBuilder builder = factory.newDocumentBuilder();
            org.w3c.dom.Document doc = builder.parse("C:/sample_xslt.txt");

            NodeList list = doc.getElementsByTagName("*");
            System.out.println("XML Elements: ");
            for (int i=0; i<list.getLength(); i++) {

                Element element = (Element)list.item(i);
                System.out.println(element.getNodeName());
            }

预期产出为:

TransactionDateTime ChangeIndicator

共有1个答案

百里景山
2023-03-14

您可以通过简单的XPath 2.0表达式//(xsl:elementxsl:attribute)/@name得到这个答案--使用DOM完全是矫枉过正。

 类似资料:
  • 我怎样才能打开下面的(大写字母标签,即

  • 问题内容: 我有这个HTML代码: 但它应该变成(对于所有可能的html标签): 问题答案: 改编自我对类似问题的回答 RegExp细分: 添加一些引号,并使用替换文本,它应该删除标记名之后的所有文本,直到标记结尾或just 为止。 请注意, 这不一定适用于 所有 输入,因为Anti-HTML + RegExp会告诉您。有一些后备功能,最明显的是会失败,还有其他一些坏的问题…我建议将Zend_Fi

  • 我正在尝试从Twitter检索数据,使用Tweepy作为在命令行中键入的用户名。我想提取相当多关于状态和用户的数据,所以想出了以下内容: 请注意,我正在导入所有必需的模块,并且具有oauth键(只是此处未包含)并且文件名正确,刚刚更改: 我希望最终遍历用户的所有推文(最多3200条限制)。不过,首先要做的是。到目前为止,尽管我有两个问题,但我收到了以下关于转发的错误消息: 将用户名作为变量传递似乎

  • 问题内容: 我有几个使用相同参数和参数值的Jenkins参数化作业。当我必须更改这些参数之一的默认值时,我需要遍历所有这些作业并重新配置它们。 解决此问题的一种简单方法是从配置文件中(在master /工作区中)检索所有参数的选项,但是我找不到足够的实现方法。 我希望能够使用标准Java配置文件 (格式为“ key” =“ value”) 来提供构建, 然后在构建期间像其他所有参数一样引用这些参数

  • 当我在AEM上使用下面的查询QueryDebug 以及形成的URL/JSON QueryBuilder链接。 我可以看到每个资产的所有属性,包括jcr:内容,元数据如下: 我需要将相同的结果返回到服务/endpoint,我正在为客户构建AEM。当我将上述查询转换为查询生成器API时 如何检索所有值? 如果我使用,我们只能看到下的属性,而不能看到其他属性。 和 如果我使用

  • 今天好,这有点让我迷惑(大脑冻结!)好像少了些什么。有一个我用HashMap填充的ArrayList。现在我放入了我的HashMap和ArrayList。 由于am解析JSON,arraylist的大小显著增加。现在我的问题是如何从ArrayList中的两个映射键中获得值?我试过这个 但我似乎不能得到所有的值。映射大小总是返回值2,这只是元素。如何从ArrayList中的映射键获取所有值?谢谢