Должно работать, когда выполняются следующие условия:
1) Доменное имя не является localhost (для проверки тайм-аута вы должны использовать «YourComputerName» вместо «localhost»).
2) Проект компилируется в режиме Release.
3) compilation debug = "false"
, если не ищите здесь альтернативу (ScriptTimeOut): ASP.NET MVC и httpRuntime executeTimeout
Приветствия,
Папа
Это немного сложно, но выполняется следующий пример:
public static void main(String[] args) {
DocumentImpl doc1 = new DocumentImpl();
Element root1 = doc1.createElement("root1");
Element node1 = doc1.createElement("node1");
doc1.appendChild(root1);
root1.appendChild(node1);
DocumentImpl doc2 = new DocumentImpl();
Element root2 = doc2.createElement("root2");
Element node2 = doc2.createElement("node2");
doc2.appendChild(root2);
root2.appendChild(node2);
DocumentImpl doc3 = new DocumentImpl();
Element root3 = doc3.createElement("root3");
doc3.appendChild(root3);
// root3.appendChild(root1); // Doesn't work -> DOMException
root3.appendChild(doc3.importNode(root1, true));
// root3.appendChild(root2); // Doesn't work -> DOMException
root3.appendChild(doc3.importNode(root2, true));
}
Я знаю, что проблема уже решена, но я все же хотел попытаться решить эту проблему, используя библиотеку XOM , которую я сейчас тестирую (относящуюся к этот вопрос ), и при этом предлагайте другой подход, нежели тот, который дан в ответе Andreas_D.
(Чтобы упростить этот пример, я поместил ваши
и
в отдельные файлы, которые я прочитал в экземплярах nu.xom.Document
.)
import nu.xom.*;
[...]
Builder builder = new Builder();
Document alertDoc = builder.build(new File("src/xomtest", "alertset.xml"));
Document weatherDoc = builder.build(new File("src/xomtest", "weatherset.xml"));
Document mainDoc = builder.build("<DataSet><blank/><blank/></DataSet>", "");
Element root = mainDoc.getRootElement();
root.replaceChild(
root.getFirstChildElement("blank"), alertDoc.getRootElement().copy());
root.replaceChild(
root.getFirstChildElement("blank"), weatherDoc.getRootElement().copy());
Ключ состоит в том, чтобы сделать копии элементов, которые будут вставлены в mainDoc
; иначе вы получите жалобу, что «у ребенка уже есть родитель».
Теперь вывод mainDoc дает:
<?xml version="1.0" encoding="UTF-8"?>
<DataSet>
<alert-set>
<warning>National Weather Service...</warning>
<start-date>5/19/2009</start-date>
<end-date>5/19/2009</end-date>
</alert-set>
<weather-set>
<chance-of-rain type="percent">31</chance-of-rain>
<conditions>Partly Cloudy</conditions>
<temperature type="Fahrenheit">78</temperature>
</weather-set>
</DataSet>
К моему удовольствию, это оказалось очень простым делом с XOM. Написание этого заняло всего несколько минут, хотя я определенно не еще очень хорошо разбираюсь в библиотеке. (Было бы еще проще без элементов
, т.е. начиная с простого
.)
Итак, если у вас нет убедительных Причины использования только стандартных инструментов JDK, я настоятельно рекомендую попробовать XOM, поскольку он может сделать обработку XML в Java намного более приятной.