gpt4 book ai didi

java - 如何使用 JavaApi 将重音字符从 XML 写入 MarkLogic?

转载 作者:行者123 更新时间:2023-12-01 11:34:00 26 4
gpt4 key购买 nike

我有一个 20MB 的 XML,其中包含 Ö、É、Á 等重音字符。问题是当我将文件插入 MarkLogic 时,这些字符以英文格式保存,如 O ,E,A。但是我想以相同的格式存储。那么我如何以重音格式存储字符并以相同的方式读取 XMl 。我的 XML 文件采用 ISO-8859-1 编码。

我为写作和阅读而编写的代码:

     DatabaseClient client = DatabaseClientFactory.newClient(IP, PORT,
DATABASE_NAME, USERNAME, PWD, Authentication.DIGEST);
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader streamReader = null;
streamReader = factory.createXMLStreamReader(new FileReader("record.xml"));
XMLDocumentManager xmlDocMgr = client.newXMLDocumentManager();
XMLStreamReaderHandle handle = new XMLStreamReaderHandle(streamReader);
xmlDocMgr.write("/" + filename, handle);

用于读取 XML:

 XMLDocumentManager docMgr = client.newXMLDocumentManager();
DOMHandle xmlhandle = new DOMHandle();
docMgr.read("/" + filename, xmlhandle);
String doc = xmlhandle.toString();
String data = Normalizer.normalize(doc, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "");
return data;

我正在返回数据以在浏览器中显示。找不到问题出在哪里。

最佳答案

如果 XML 文件没有声明其编码的 XML 序言,则在将文件写入数据库之前读取文件时应指定 ISO-8859-1 编码(如 flafoux 所指出的)。

从数据库读取内容时,您还应该指定编码,除非目标接受 UTF-8 编码。

有关详细信息,请参阅:

http://docs.marklogic.com/guide/java/document-operations#id_11208

希望有帮助,

关于java - 如何使用 JavaApi 将重音字符从 XML 写入 MarkLogic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185758/

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