我试图解析pacs.003 ISO20022格式的xml文件.我有这个XSD,并使用XMLBeans创建了所需的Java类.我遇到的问题是我无法从XML中读取元素并继续获取NullPointerException.我搜索过类似的问题,但大多数都导致OP转向不同的技术.
我从LON_20160208.xml获得的XML片段是:
<S2SDDDnf:FIToFICstmrDrctDbt xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.003.001.02">
<GrpHdr>
<MsgId>DDA160802AASW006543</MsgId>
</GrpHdr>
</S2SDDDnf:FIToFICstmrDrctDbt>
Run Code Online (Sandbox Code Playgroud)
我的代码是:
public static void main(String[] args) {
XmlOptions xmlOptions = new XmlOptions();
xmlOptions.setUseDefaultNamespace();
xmlOptions.setSavePrettyPrint();
Document doc;
try {
doc = Document.Factory.parse(new File("data_samples/LON_20160208.xml"));
String messageId = doc.getFIToFICstmrDrctDbt().getGrpHdr().getMsgId();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
将doc.getFIToFICstmrDrctDbt()
在上述结果NullPointerException异常,这似乎指向无论是get_store()
在XMLBeans类中的方法或与命名空间的问题.
我已经尝试使用替换命名空间映射并打开setUseDefaultNamespace()
和关闭该方法(它目前没有在上面注释掉).我也看过有关添加一个答案elementFormDefault="qualified"
的xsd:schema
元素,但这个已经完成.这些似乎都没有解决问题,我的想法已经不多了.
任何帮助将不胜感激.
我正在学习如何使用jsoup。我首先以为jsoup就像jquery,但事实并非如此。
我想将这个HTML正文提取到div元素中。
<html>
<head></head>
<body>
<div>
<h1>Title</h1>
</div>
<div>
<img src="/xx.jpg" />
</div>
<div>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</div>
<div>
<h2><b>End</b></h2>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码:
Document doc = Jsoup.parse(htmlString);
Elements divs = doc.select("div");
Run Code Online (Sandbox Code Playgroud)
但它会返回所有div。我希望元素返回如下:
divs.get(0).toString(); // "<h1>Title</h1>"
divs.get(1).toString(); // "<img src="/xx.jpg" />"
divs.get(2).toString(); // "<p>Paragraph 1</p><p>Paragraph 2</p>"
divs.get(3).toString(); // "<h2><b>End</b></h2>"
Run Code Online (Sandbox Code Playgroud)
请协助我使用jsoup将div转换为元素并如上所述返回吗?
当发现重复文件时,我试图在 Camel 中重命名文件。我有一个包含 x 个文件的目录,如果将另一个文件放入该文件夹中,我希望将原始文件重命名而不是覆盖。
我尝试使用fileExists
和tempFileName
选项,但它没有解决问题。
.to("file://"+decryptedFailed+"?delay=3000&tempFileName=tempName&fileExist=TryRename")
Run Code Online (Sandbox Code Playgroud)
我这样做有什么问题吗?
尝试连接到Active MQ上的队列时,我收到以下错误消息.
Failed to create route ...because of Failed to resolve endpoint: amq://queue:ROBOMQ.TO.MPM due to: Password must also be provided when using username/password as credentials.
Run Code Online (Sandbox Code Playgroud)
下面的Camel XML中的AMQ bean声明.已经工作了好几个月但现在已经停止了.
<bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://127.0.0.1:61616" />
<property name="userName" value="${username}" />
<property name="password" value="${password}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?