如何處理 xml 標簽中的下劃線。這是我正在工作的代碼。它為我生成帶有雙下劃線(“__”)而不是單下劃線(“_”)的 xml 標記。誰能幫助我克服這個問題。ConverterRoute.Javapublic class ConverterRoute implements RoutesBuilder { private static final String SOURCE_INPUT_PATH = "file://inbox?fileName=Source.txt"; private static final String SOURCE_OUTPUT_PATH = "file://outbox?fileName=file_$simple{date:now:yyyyMMddHHmmssSSS}.xml"; public void addRoutesToCamelContext(CamelContext context) throws Exception { context.addRoutes(new RouteBuilder() { public void configure() { try { DataFormat bindyFixed = new BindyCsvDataFormat(Test.class); XStreamDataFormat xStreamDataFormat = new XStreamDataFormat(); xStreamDataFormat.setAliases(Collections.singletonMap("TEST_INB",Test.class.getCanonicalName())); from(SOURCE_INPUT_PATH). split().tokenize(System.lineSeparator()). unmarshal(bindyFixed). marshal(xStreamDataFormat). to(SOURCE_OUTPUT_PATH).log("Finished Transformation").end(); } catch (Exception e) { e.printStackTrace(); } } }); }}CamelConfig.java@Componentpublic class CamelConfig extends RouteBuilder { @Override public void configure() throws Exception { try { CamelContext context = new DefaultCamelContext(); ConverterRoute route = new ConverterRoute(); route.addRoutesToCamelContext(context); context.start(); Thread.sleep(5000); context.stop(); } catch (Exception exe) { exe.printStackTrace(); } }}
1 回答

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
XStream 在生成 XML 時在內部使用下劃線來轉義字符。
您可以嘗試使用自定義驅動程序(而不是默認驅動程序):
XmlFriendlyNameCoder nameCoder = new XmlFriendlyNameCoder("_-", "_");??
Dom4JDriver myCustomDriver = new Dom4JDriver(nameCoder);
...?
XStreamDataFormat xStreamDataFormat = new XStreamDataFormat();
xStreamDataFormat.setDriver(myCustomDriver);
或者,如果不起作用,可以嘗試使用其他備用驅動程序:
DomDriver myCustomDriver = new DomDriver("UTF_8", new NoNameCoder());
希望這有效!
添加回答
舉報
0/150
提交
取消