В настоящее время я работаю над проектом txt-to-xml. В основном, что я делаю, это создание разных XmlElements для некоторого содержимого. У меня есть DTD и работает, и теперь я создаю xml по умолчанию, чтобы убедиться, что каждый созданный xml является допустимым xml (для данного DTD). Я в основном создаю новые классы для каждого элемента, который не имеет структуры #PCDATA и работает до сих пор довольно хорошо. Сейчас я борюсь с проблемой: я получил следующее в моем DTD:JAXB Несколько содержимого для элемента
<!ELEMENT REACTION(#PCDATA | ACTOR*)>
Что я ищу в моем тексте что-то вроде:
Профессор X хлопнул!
, и я хочу, чтобы извлечь это в моем XML как:
<REACTION>
<ACTOR>Prof. X</ACTOR> clapped!
</REACTION>
Так что я в основном хочу это строка-атрибут в ReactionClass который devlares как XML-элемент, но держит актер-Attribute + Остальная часть текста. Я думал, что-то вроде:
String m_sText;
String m_sActor;
public ReactionClass(){
this.Actor = "Prof. X";
this.sText = this.m_sActor + " clapped!";
}
@XmlElement(name = "TEXT")
public String getM_sText(){ return this.m_sText; }
@XmlElement(name = "ACTOR")
public String getM_sActor(){ return this.m_sActor; }
Для всех других узлов, таких как RootNode я создал RootNodeClass который содержит различные атрибуты, такие как m_nLocation, m_nTime, m_nYear, которые были объявлены в качестве XML-элементов, поэтому JAXB- ИАС только выстраивается XML на основе этих элементов:
<ROOT>
<TIME>09:00</TIME>
<LOCATION>New York</TIME>
<YEAR>1992</YEAR>
</ROOT>
Я хотел сделать то же самое с реакционно-Node (как упоминалось выше), но при создании нового класса рЕАКЦИИ я получаю н. например:
<REACTION>
<TEXT>Prof. X clapped!</TEXT>
<ACTOR>Prof. X</ACTOR>
</REACTION>
Как бы я поместил их в один элемент, но сохранил теги, такие как выше? Если у кого-нибудь есть идея, как справиться с этим, я был бы очень благодарен!
Спасибо Макс