久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

JAXB 解組未知 XML 內容的子集

JAXB Unmarshalling an subset of Unknown XML content(JAXB 解組未知 XML 內容的子集)
本文介紹了JAXB 解組未知 XML 內容的子集的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我需要 unmarshall 未知 XML 內容的子集,使用該未編組的對象,我需要修改一些內容并重新綁定相同的 XML 內容(子集) 與原始 XML.

I have a requirement to unmarshall a subset of Unknown XML content, with that unmarshalled object, I need modify some contents and re-bind the same XML content(subset) with the Original XML.

輸入 XML 示例:

<Message>
    <x>
    </x>
    <y>
    </y>
    <z>
    </z>
    <!-- Need to unmarshall this content to "Content" - java Object -->
    <Content>
        <Name>Robin</Name>
        <Role>SM</Role>
        <Status>Active</Status>
    </Content>
.....
</Message>

需要單獨解組 <Content> 標記,保持其他 XML 部分相同.需要修改<Content>標簽中的元素,并將修改后的XML部分與原文綁定,如下圖:

Need to unmarshall the <Content> tag alone, by keeping the other XML part as same. Need to modify the elements in <Content> tag and bind the modified XML part with the original as shown below:

預期輸出 XML:

<Message>
    <x>
    </x>
    <y>
    </y>
    <z>
    </z>
    <!-- Need to unmarshall this content to "Content" - java Object -->
    <Content>
        <Name>Robin_123</Name>
        <Role>Senior Member</Role>
        <Status>1</Status>
    </Content>
.....
</Message>

我的問題:

  1. 此要求的可能解決方案是什么?(除了 DOM 解析 - 因為 XML 網絡非常龐大)

  1. What is the possible solution for this Requirement ? (Except DOM parsing - as XML contnet is very huge)

JAXB2.0 中是否有任何選項可以執行此操作?

Is there any option to do this in JAXB2.0 ?

請就此提出您的建議.

推薦答案

考慮使用 StAX API.

對于給定的示例,此代碼使用 Content 元素的根元素創建一個 DOM 文檔:

For the given sample, this code creates a DOM document with a root element of the Content element:

class ContentFinder implements StreamFilter {
  private boolean capture = false;

  @Override public boolean accept(XMLStreamReader xml) {
    if (xml.isStartElement() && "Content".equals(xml.getLocalName())) {
      capture = true;
    } else if (xml.isEndElement() && "Content".equals(xml.getLocalName())) {
      capture = false;
      return true;
    }
    return capture;
  }
}

XMLInputFactory inFactory = XMLInputFactory.newFactory();
XMLStreamReader reader = inFactory.createXMLStreamReader(inputStream);
reader = inFactory.createFilteredReader(reader, new ContentFinder());
Source src = new StAXSource(reader);
DOMResult res = new DOMResult();
TransformerFactory.newInstance().newTransformer().transform(src, res);
Document doc = (Document) res.getNode();

這可以是 作為 /transform/dom/DOMSource.html" rel="nofollow">DOMSource.

This can then be passed to JAXB as a DOMSource.

在輸出時重寫 XML 時可以使用類似的技術.

Similar techniques can be used when rewriting the XML on output.

JAXB 似乎不直接接受 StreamSource,至少在 Oracle 1.7 實現中是這樣.

JAXB doesn't seem to accept a StreamSource directly, at least in the Oracle 1.7 implementation.

這篇關于JAXB 解組未知 XML 內容的子集的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Upload progress listener not fired (Google drive API)(上傳進度偵聽器未觸發(Google 驅動器 API))
Save file in specific folder with Google Drive SDK(使用 Google Drive SDK 將文件保存在特定文件夾中)
Google Drive Android API - Invalid DriveId and Null ResourceId(Google Drive Android API - 無效的 DriveId 和 Null ResourceId)
Google drive api services account view uploaded files to google drive using java(谷歌驅動api服務賬戶查看上傳文件到谷歌驅動使用java)
Google Drive service account returns 403 usageLimits(Google Drive 服務帳號返回 403 usageLimits)
com.google.api.client.json.jackson.JacksonFactory; missing in Google Drive example(com.google.api.client.json.jackson.JacksonFactory;Google Drive 示例中缺少)
主站蜘蛛池模板: 男女爱爱福利视频 | 久久久久久久91 | 天天天天天天天干 | 欧美最猛性xxxxx亚洲精品 | 久久久久久高潮国产精品视 | 欧洲亚洲精品久久久久 | 日本在线观看视频 | 欧美精品中文字幕久久二区 | 国产精品久久久久久妇女 | 久久99成人 | 一道本一区二区 | 男女黄网站 | www.日本三级 | 久久久青草婷婷精品综合日韩 | 免费久久网站 | 亚洲精品www久久久 www.蜜桃av | 中文字幕 在线观看 | 一级在线毛片 | 亚洲美女视频 | 日韩一区二区三区精品 | 九九热国产视频 | 小早川怜子xxxxaⅴ在线 | 日本午夜免费福利视频 | 超碰成人免费 | 精品国产黄a∨片高清在线 www.一级片 国产欧美日韩综合精品一区二区 | 成人在线视频一区 | 免费观看色| 国产亚洲精品精品国产亚洲综合 | 日韩欧美在 | 玖玖色在线视频 | 欧美一区二 | 欧美日韩中文字幕在线 | 亚洲精品久久久久久下一站 | 久久久免费 | 亚洲免费毛片 | 国产精品视频导航 | 国产三区视频在线观看 | 国产精品久久一区二区三区 | 成年人在线视频 | 水蜜桃亚洲一二三四在线 | 亚洲人成人一区二区在线观看 |