【发布时间】:2015-07-07 22:08:09
【问题描述】:
我正在使用 wsdl/webservice url 连接到数据源。问题是这个 web 服务返回一个 xml 字符串作为输出。现在我的问题是我无法将其映射到正确的字段/列中。下面是一个返回的 xml 字符串示例
<?xml version="1.0" encoding="utf-8"?>
<response><items><item><nv_id>1</nv_id><nv_id_parent>0</nv_id_parent><nv_label>Satisfactory</nv_label></item><item><nv_id>2</nv_id><nv_id_parent>1</nv_id_parent><nv_label>Niveau admin</nv_label></item><item><nv_id>3</nv_id><nv_id_parent>2</nv_id_parent><nv_label>Enseigne</nv_label></item><item><nv_id>4</nv_id><nv_id_parent>3</nv_id_parent><nv_label>Magasin</nv_label></item></items></response>
我找到了一种解析 xml 并从中计算列的方法。但是,问题在于 xml 字符串作为单行返回,因此在计算列中仅提取第一行数据。如何从 xml 数据集中获取所有行?
我已经使用下面的代码来解析上面的 xml 并创建一个列。
importPackage(Packages.org.apache.xerces.parsers);
importPackage(Packages.org.xml.sax);
importPackage(Packages.java.io);
var parser = new DOMParser();
parser.parse(new InputSource(new StringReader(dataSetRow["return"])));
var nodelist = parser.getDocument().getElementsByTagName('nv_label');
var entry = nodelist.item(0).getFirstChild().getNodeValue();
entry;
现在的问题是 xml 作为单行字符串返回。 xml 字符串包含很多行,我想获取该列的所有这些行。我该怎么做?
P.S:我对 javascript 或 java 或 pojo 或脚本数据源不太擅长,所以如果您的解决方案将使用其中任何一个,请提供更多详细信息
【问题讨论】:
标签: xml web-services birt