나는 Mule을 처음 사용합니다.누군가가 csv를 mule로 xml로 변환하는 방법을 보여줄 수 있습니까?
나는
1) Read csv file from local drive
2) Transform to xml
3) Write xml
이 도와주세요 일보다하고 싶은.
나는 Mule을 처음 사용합니다.누군가가 csv를 mule로 xml로 변환하는 방법을 보여줄 수 있습니까?
나는
1) Read csv file from local drive
2) Transform to xml
3) Write xml
이 도와주세요 일보다하고 싶은.
당신은
<smooks:transformer
name="csvToXmlSmooksTransformer"
configFile="/transforms/smooks-csv-config.xml"
resultType="STRING"
reportPath="target/smooks-report/report.html"
/>
다음 자바에서 tezt 클래스를 만들려면 노새 설정에 XML에
smooks-CSV - 설정 - XML
<?xml version="1.0" encoding="UTF-8"?>
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:csv="http://www.milyn.org/xsd/smooks/csv-1.2.xsd">
<csv:reader fields="order_no?trim,cust_no?trim,prod_no?trim,amount?trim"
separator="|" quote="'" skipLines="0" rootElementName="orders" recordElementName="order" indent="true" />
<resource-config selector="global-parameters">
<param name="stream.filter.type">SAX</param>
</resource-config>
</smooks-resource-list>
을 변환하는 Smooks 변압기를 사용할 수 있습니다
package net.pascalalma.mule.test;
import java.io.File;
import java.io.InputStream;
import java.util.Locale;
import java.util.TimeZone;
import org.junit.Test;
import org.mule.DefaultMuleMessage;
import org.mule.api.MuleMessage;
import org.mule.module.client.MuleClient;
import org.mule.tck.FunctionalTestCase;
import org.mule.util.IOUtils;
public class SmooksCsvTest extends FunctionalTestCase
{
@Override
protected String getConfigResources() {
return "config/smooks-csv-config.xml";
}
@Test
public void testSmooks() throws Exception {
InputStream in = IOUtils.getResourceAsStream("test-order.csv", this.getClass());
MuleClient client = new MuleClient();
MuleMessage reply = client.send("vm://test-csv-to-xml",new DefaultMuleMessage(in));
assertNotNull(reply);
assertNotNull(reply.getPayload());
Object payload = reply.getPayload();
assertTrue("The message payload is not an instance of String", payload instanceof String);
assertTrue("The report file wasn't created", getReportFile().exists());
}
private File getReportFile() {
return new File("target/smooks-report/report.html");
}
private void deleteReportFile() {
getReportFile().delete();
}
/* (non-Javadoc)
* @see org.mule.tck.AbstractMuleTestCase#doSetUp()
*/
@Override
protected void doSetUp() throws Exception {
super.doSetUp();
TimeZone.setDefault(TimeZone.getTimeZone("EST"));
Locale.setDefault(new Locale("en","IE"));
deleteReportFile();
}
/* (non-Javadoc)
* @see org.mule.tck.AbstractMuleTestCase#doTearDown()
*/
@Override
protected void doTearDown() throws Exception {
super.doTearDown();
deleteReportFile();
}
}
의 출력은 위의 XML로 CSV를 변환하고지도 할 수있는 가장 쉬운 방법이
<orders>
<order number="1">
<order_no>1888852</order_no>
<cust_no>21625</cust_no>
<prod_no>02745011</prod_no>
<amount>31</amount>
</order>
<order number="2">
<order_no>1888853</order_no>
<cust_no>21625</cust_no>
<prod_no>02745011</prod_no>
<amount>71</amount>
</order>
<order number="3">
<order_no>1888854</order_no>
<cust_no>21625</cust_no>
<prod_no>02745011</prod_no>
<amount>3</amount>
</order>
</orders>
하나 같을 것이다는 https://developer.mulesoft.com/docs/display/current/Datamapper+User+Guide+and+Reference
그러나 Datamapper 뮬 의 사용이다 ,이 Datamapper는 노새의 특징입니다 기업 판 ...
012 3,516,기타 다른 옵션은로드에 각 컬럼에 페이로드를 분할 식 변압기를 사용하여 파일 인바운드 엔드 포인트를 사용하여 로컬 디스크에서 CSV 파일,
을
에, 각 열을 흐름 변수 에 저장하십시오. - How to read CSV file and insert data into PostgreSQL using Mule ESB, Mule Studio
마지막으로 입력 .. 심판으로XML 페이로드 와 흐름 변수를 만들 XSLT를 사용 : - : http://opendevelopmentnotes.blogspot.in/2013/09/mule-esb-csv-to-xml-conversion.html
- https://developer.mulesoft.com/docs/display/current/XSLT+Transformer는 또한, 당신은 또한 다음 링크를 참조 할 수 있습니다