为了账号安全,请及时绑定邮箱和手机立即绑定

从 XMLnode 读取值

从 XMLnode 读取值

MYYA 2021-08-19 19:12:06
我对 XML 解析很陌生。我正在尝试从计算机上的共享驱动器读取 XML 文件并将它们移动到另一个共享驱动器。我有以下 XML 文件。我正在尝试从此 XML 文档中读取 Test.pdf 值<?xml version="1.0" encoding="utf-8" ?>  <xml> <IndexData FileName="Test.pdf">  <AttachmentID>3221929</AttachmentID>   <URI>test234555..pdf</URI>   <postmarkDate>2018-07-02T12:52:00.9</postmarkDate>   <pin>305270036</pin>   <scanDate>2018-07-02T12:52:00.9</scanDate>   <UserLogin>admin</UserLogin>   </IndexData> <IndexData FileName="Test2.pdf">  <AttachmentID>3221931</AttachmentID>   <URI>Appp2.pdf</URI>   <postmarkDate>2018-07-02T14:19:22.5</postmarkDate>   <pin>305270036</pin>   <scanDate>2018-07-02T14:19:22.5</scanDate>   <UserLogin>admin</UserLogin>   </IndexData></xml>我尝试导入 import org.w3c.dom.Node; 为了这。下面是我的代码:String processXml(Node doc) {    String fileName = null;    try {      DfLogger.debug(this, "Loading: " + doc.getNodeName(), null, null);      Map<String, String> indexData = getXmlData(doc);      fileName = indexData.get("IndexData FileName");      if (new File(fileName).exists()) {        import(fileName, indexData);      }    } catch (Exception ex) {      DfLogger.error(this, "Error processing document.", null, ex);      return null;    }    return fileName;  }当我尝试通过执行以下操作读取值时,我的 FileName 值始终为 NULL: fileName = indexData.get("IndexData FileName");下面是我的 getXmlData 方法。  protected Map<String, String> getXmlData(Node xmlDataNode) {        Map<String, String> xmlData = new HashMap<>();        NodeList nodeList = xmlDataNode.getChildNodes();        for (int i = 0; i < nodeList.getLength(); i++) {          Node node = nodeList.item(i);          if (node.getNodeType() == Node.ELEMENT_NODE) {            xmlData.put(node.getNodeName(), node.getTextContent().trim());          }        }        return xmlData;      }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信