gpt4 book ai didi

java - 解析并更新liferay网页内容

转载 作者:行者123 更新时间:2023-11-30 07:29:11 25 4
gpt4 key购买 nike

我有一个 JournalArticle 网页内容,其中包含以下部分。

<root available-locales="en_GB" default-locale="en_GB">
<dynamic-element name="image-id" type="text" index-type="keyword" index="0">
<dynamic-content language-id="en_GB">
<![CDATA[ENG_ID1]]>
</dynamic-content>
</dynamic-element>
<dynamic-element name="main-picture" type="document_library" index-type="keyword" index="0">
<dynamic-element name="main-picture-url" index="0" type="text" index-type="keyword">
<dynamic-content language-id="en_GB">
<![CDATA[http://localhost:8080/documents/11111/22222/Image1/c9ff3112-22a1-4a45-a5d7-ea0b687fa34f?t=1450349423000]]>
</dynamic-content>
</dynamic-element>
<dynamic-content language-id="en_GB">
<![CDATA[/documents/11111/22222/Image2/c9ff3113-23a1-4a35-a1d7-ea0b127fa34f?t=1450349423000]]>
</dynamic-content>
</dynamic-element>
</root>

我试图解析 xml 并使用下面的动态内容(如果值为 NotEmpty)中的 URL 更新 main-picture-url 中的 url。

String HOST = "localhost";
String PORT = "8080";
Document contentDocument = SAXReaderUtil.read(content);

List<String> elementNames = Arrays.asList("main-picture");
for (String elementName : elementNames) {
Node mainNode = contentDocument.selectSingleNode("/root/dynamic-element[@name='"+elementName+"']/dynamic-content");
Node urlNode = contentDocument.selectSingleNode("/root/dynamic-element[@name='"+elementName+"']/dynamic-element/dynamic-content");

Integer urlNodeIndex = contentDocument.indexOf(urlNode);
String mainValue = mainNode.getText();
if(!mainValue.equalsIgnoreCase("")) {
urlNode.setText("http://"+HOST+":"+PORT+mainValue);

System.out.println("urlValue is ---> "+urlNode.getText());
}
}

正如您在上面看到的,我可以提取该值并将其设置为 urlNode。但我完全困惑如何将此 urlNode 设置回内容。我在 SAXReaderUtil 中找不到任何方法来帮助我更新内容

有什么方法可以更新内容吗?

最佳答案

答案很简单。我只需要这样做

content = contentDocument.asXML()

将更新后的文档恢复为内容。

关于java - 解析并更新liferay网页内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36385821/

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