2017-08-29 4 views
1

私はバイト配列内の以下のようなXMLを持って、私はストリップ「アンダースコア」とXMLタグから他の名前空間とキャメルケースの文字列に変換し

<branchType> 
    <branchName></branchName> 
<branchType>... 

任意の提案に変換する必要が

<branch_type> 
    <branch_name></branch_name> 
</branch_type>... 

JAXBを使用して上記のXMLをJavaオブジェクトにアンマーシャリングしようとしています。 xmlタグにはアンダースコアが付いているので、Javaプロパティには適用されません。

私はコンテンツを整列解除する前に、ストリング操作を行うことを考えました。それを行うためのより良い方法はありますか?

Javaファイルの拡張XSDClassにはgetBranchNameとgetBranchTypeなどがあります。これはJAXBで生成されたオブジェクトではなく、注釈を持たないものです。 Javaクラスを変更せずにXMLをアンマーシャリングしたいと思います。

答えて

0

xml構造が分かっている場合は、XSLTransformationを使用できます。

テンプレート

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > 
<xsl:template match="/"> 
     <xsl:for-each select="branch_type"> 
     <branchType> 
     <branchName><xsl:value-of select="branch_name"/></branchName> 
     </branchType> 
     </xsl:for-each> 
</xsl:template> 
</xsl:stylesheet> 

入力

<branch_type> 
    <branch_name>aaaa</branch_name> 
</branch_type> 

出力

<branchType> 
    <branchName>aaaa</branchName> 
</branchType> 
関連する問題