Я не могу создать теги XML, которые должны содержать больше, чем имя элемента
Я пытаюсь сгенерировать этот XML - он становится более сложным, но сейчас:
<?xml version="1.0" encoding="UTF-8"?>
<questestinterop xmlns:d2l_2p0="http://desire2learn.com/xsd/d2lcp_v2p0">
<assessment d2l_2p0:id="1001" title="quiz_owen2" ident="res_quiz_1">
</assessment>
</questestinterop>
У меня есть различные фабричные классы, сгенерированные JAXB, и я пробую эту Java:
DocumentBuilderFactory quizDocFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder quizDocBuilder;
ObjectFactory assessmentFactory = new ObjectFactory();
try {
quizDocBuilder = quizDocFactory.newDocumentBuilder();
Document quizzDoc = quizDocBuilder.newDocument();
Element mainRootElement =
quizzDoc.createElementNS("http://desire2learn.com/xsd/d2lcp_v2p0",
"questestinterop");
quizzDoc.appendChild(mainRootElement);
Node assessmentTag = null;
Questestinterop.Assessment assessment =
assessmentFactory.createQuestestinteropAssessment();
assessment.setId(1001);
assessment.setTitle("quiz_owen2");
assessment.setIdent("res_quiz_1");
assessmentTag =
quizzDoc.createElementNS("http://desire2learn.com/xsd/d2lcp_v2p0",
"assessment");
mainRootElement.appendChild(assessmentTag);
Transformer transformer =
TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(quizzDoc);
StreamResult console = new StreamResult(System.out);
transformer.transform(source, console);
System.out.println("\nXML DOM Created Successfully..");
} catch (Exception e) {
e.printStackTrace();
}
Вот вывод - обратите внимание, что Id, Title и Ident не отображаются. Я знаю, что проблема заключается в том, что оценка объекта не совпадает с «оценкой» в строке, начинающейся с «оценки тега» под ним, но не могу понять, как правильно передать ссылки на объекты из всех вложенных классов, которые должны получитьгенерируется - мой подход кажется неправильным, любая помощь / рекомендация приветствуются
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<questestinterop xmlns="http://desire2learn.com/xsd/d2lcp_v2p0">
<assessment/>
</questestinterop>
XML DOM Created Successfully..
Для ПОЗЖЕ: Здесь перечислены все основные корни, которые необходимо заполнить, некоторые имеют еще большую структуру под ними - кажется, вы вызываете их вв порядке их появления, за исключением братьев и сестер, которые вы должны заполнить, обнуляя и повторно заполняя атрибуты (???)
Questestinterop.Assessment.Rubic rubric =
assessmentFactory.createQuestestinteropAssessmentRubic();
Questestinterop.Assessment.Assessmentcontrol assessmentcontrol =
assessmentFactory.createQuestestinteropAssessmentAssessmentcontrol();
//Questestinterop.Assessment.PresentationMaterial
//Questestinterop.Assessment.AssessProcextension
//Questestinterop.Assessment.Assessfeedback
//Questestinterop.Assessment.Section