0
Solrのxmlファイルを作成しようとしていますが、問題が発生しています。JavaのxmlElementにxmlAttributeを追加する
@XmlElement(name = "field")
public String getAuthors() {
return authors;
}
public void setAuthors(List<String> authors) {
setValue(authors, "authors");
}
@XmlElement(name = "field")
public String getDate() {
return date;
}
public void setDate(List<String> date) {
setValue(date, "date");
}
@XmlElement(name = "field", required = false)
public String getContent() {
return content;
}
public void setContent(List<String> content) {
setValue(content, "content");
}
など:私はそうのような私のクラスのXML要素ですmarhallerを伝えるために@XmlElementアノテーションを使用します。
は、その後、私はxmlファイル作成するには、次を使用します。それは動作しますが、私は私のxmlファイルは次の形式を持ちたい
XMLCreator collection = new XMLCreator(docs);
File fileOut = new File("docs.xml");
BufferedWriter writer = new BufferedWriter(new FileWriter(fileOut));
JAXBContext jaxbContext = JAXBContext.newInstance(XMLCreator.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(collection, writer);
を:
<add>
<doc>
<field name="authors">Patrick Eagar</field>
<field name="subject">Sports</field>
<field name="dd">796.35</field>
<field name="numpages">128</field>
<field name="desc"></field>
<field name="price">12.40</field>
<field name="title">Summer of the all-rounder: Test and championship cricket in England 1982</field>
<field name="isbn">0002166313</field>
<field name="yearpub">1982</field>
<field name="publisher">Collins</field>
</doc>
<doc>
...
</doc>
</add>
鉱山は現在、次のようなものです:
<add>
<doc id="2">
<field></field>
<field>Sugai, I.</field>
<field></field>
<field>CACM December, 1958 </field>
<field>CA581202 JB March 22, 1978 8:29 PM </field>
<field></field>
<field>2 5 2
2 5 2
2 5 2
</field>
<field>Extraction of Roots by Repeated Subtractions for Digital
Computers </field>
</doc>
</add>
私がしたいのは、各フィールド要素にname属性を追加することです。これは@Xml ...アノテーションを使って可能ですか?
を私の答えがhttps://stackoverflow.com/questions/47877912/formatting-xml-withを見-jaxb/47878150#47878150 - それは同じassesmentのように見えます。 – Vadim
[XMLをJAXBでフォーマットする](https://stackoverflow.com/questions/47877912/formatting-xml-with-jaxb) – dur
XML属性の値は、別の方法で処理されます。例:https:/ /stackoverflow.com/questions/5514752/xml-element-with-attribute-and-content-using-jaxb –