【问题标题】:How to read xml file and insert it into Database in Mule如何读取 xml 文件并将其插入 Mule 中的数据库
【发布时间】:2014-03-23 19:35:51
【问题描述】:

我有一个 xml 文件:-

< getData >
< Data >
< id >321< /id >
< name >aa< /name >
< age >23< /age >
< designation >gfgf< /designation >
< /Data >
< /getData >

IDAGE 是整数......现在我想使用 Mule 在数据库中插入 xml 的这些属性......我的 Mule 流程是:-

 < context:property-placeholder location="classpath:conf/DBConnectionProp.properties"/>
    < spring:beans>
        < spring:bean id="DB_Source" name="DB_Source" class="org.enhydra.jdbc.standard.StandardDataSource">
            < spring:property name="url" value="${url}"/>
            < spring:property name="driverName" value="${driverName}"/>
        </spring:bean>
    < /spring:beans>
    < jdbc-ee:connector name="Database-Connector" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"> 

 < jdbc-ee:query key="InsertQuery" value="INSERT INTO &quot;getData&quot;(ID,NAME,AGE,DESIGNATION)VALUES (#[xpath('//id').text],#[xpath('//name').text],#[xpath('//age').text],#[xpath('//designation').text])"></jdbc-ee:query>  
    < /jdbc-ee:connector>

     <file:connector name="File_Input" autoDelete="false" streaming="true" validateConnections="true" doc:name="File"/>
     <flow name="testxmlFlow1" doc:name="testxmlFlow1"> 
        < file:inbound-endpoint path="E:\backup\test" responseTimeout="10000" doc:name="File" moveToPattern="Input.xml" connector-ref="File_Input"></file:inbound-endpoint>  
        < byte-array-to-string-transformer doc:name="Byte-Array-to-String" >< /byte-array-to-string-transformer >  
        < splitter evaluator="xpath" expression="/getData/Data" doc:name="Splitter" >< /splitter >  
        < jdbc-ee:outbound-endpoint exchange-pattern="one-way" queryKey="InsertQuery" queryTimeout="-1" connector-ref="Database-Connector" doc:name="Database"></jdbc-ee:outbound-endpoint >  
    < /flow >

请帮助.....我收到以下异常:-

Root Exception stack trace:
org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 2; The markup in the document following the root element must be well-formed.
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1236)
    at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485)
    at org.mule.module.xml.transformer.XmlToDomDocument.transformMessage(XmlToDomDocument.java:63)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************

如何插入 ID 和 Age 为 Int 的值 ????

【问题讨论】:

  • 你能分享完整的 XML 文件吗?
  • 嗨维克多...谢谢您的回复...它现在正在工作...实际上我必须添加 ...它运行良好,只拾取“Input.xml”,因此现在也不例外
  • 很高兴听到它正在工作。

标签: xml database xpath mule mule-studio


【解决方案1】:

它现在正在工作....实际上我必须添加
&lt;file:filename-regex-filter pattern="Input.xml" caseSensitive="false"/&gt; ...并且它运行良好并且只拾取“Input.xml”,因此现在也不例外......早些时候它正在拾取所有文件夹中的文件,因此引发了异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-04
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多