gpt4 book ai didi

java - 无法使用 JAXB 正确解码包含选项卡的 XML 文件?

转载 作者:行者123 更新时间:2023-12-01 10:07:44 27 4
gpt4 key购买 nike

我有一个 xml 文件,如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<billFile fileName=".dat" hasHeader="false" fieldDelimiter=" "/>

fieldDelimiter 包含一个制表符。当我调用 Unmarshaller.unmarshal 将此 xml 文件转换为对象时,制表符被空格替换。我希望它保留为选项卡。这是我的java代码:

import java.io.StringReader;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.transform.stream.StreamSource;


public class XMLToConfig
{
public static void main(String[] args) throws JAXBException
{
String input = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?> <billFile fileName=\".dat\" hasHeader=\"false\" fieldDelimiter=\" \"/>";
JAXBContext jaxbContext = JAXBContext.newInstance(BillFile.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
BillFile bf = (BillFile)jaxbUnmarshaller.unmarshal(new StreamSource(new StringReader(input), "UTF8"));
}
}

最佳答案

您必须使用制表符的 Unicode,而不是真正的制表符:

unicode for tab and sapce

关于java - 无法使用 JAXB 正确解码包含选项卡的 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36332466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com