gpt4 book ai didi

java - 从错误的 xsl 格式文档中获取属性值

转载 作者:行者123 更新时间:2023-12-01 20:24:39 26 4
gpt4 key购买 nike

我有一个格式错误的 xsl 记录为输入,我应该从其中根据行和列提取一些单元格值。
我说格式错误是因为当我用 Excel 打开它时,我收到一条警告:文件格式和扩展名...不匹配。
xsl 文件后面的 xml 如下所示:

<Row>
<Cell ss:StyleID="s62">
<Data ss:Type="String">Cell1</Data>
</Cell>
<Cell>
<Data ss:Type="String">n/a</Data>
</Cell>
</Row>

我设法使用以下代码获取完整节点:

File fXmlFile = new File(xmlFilePath);
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Worksheet"); // getting the tags "Worksheet"
Node nNode = nList.item(0); // getting the first "worksheet" tag
Element eElement = (Element) nNode; //getting the content of the worksheet tag
String td = eElement.getElementsByTagName("Row").item(1).getTextContent(); // item(1) gets the second "Row" tag

如果我打印它看起来像这样:

      Cell1


n/a

如何只访问第二个元素?

最佳答案

您应按如下方式更新代码,以便获取第二行的子项,获取第二个 Cell,然后获取该单元格的文本节点:

File fXmlFile = new File(xmlFilePath);
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("Worksheet"); // getting the tags "Worksheet"
Node nNode = nList.item(0); // getting the first "worksheet" tag
Element eElement = (Element) nNode; //getting the content of the worksheet tag


Element secondRow = (Element) eElement.getElementsByTagName("Row").item(1);
Element secondCell = (Element) secondRow.getElementsByTagName("Cell").item(1);
String secondCellText = secondCell.getTextNode();

关于java - 从错误的 xsl 格式文档中获取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com