Когда Вы видите оператор использования, думаете об этом коде:
StreadReader rdr = null;
try
{
rdr = File.OpenText("file.txt");
//do stuff
}
finally
{
if (rdr != null)
rdr.Dispose();
}
, Таким образом, реальный ответ - то, что это ничего не делает за исключением, добавленным тело блока использования. Это не обрабатывает его или повторно бросает его.
Если честно, все XML API в Java отстой, вы просто можете варьировать уровень отстой, в который вы себя подталкиваете, что может превратиться в ужасный / медленный, управляемый / достойный, а иногда даже на удивление нормальный.
Все это в основном связано с тем фактом, что API Java стараются быть максимально совместимыми с W3C DOM , фактически Xerces ( текущее собственное XML-решение Java ) гордится тем, что соответствует целому ряду спецификаций W3C, связанных с XML, как вы можете видеть на их первой странице.
Фактический API Xerces очень неприятен в работе, и из-за этого многие другие библиотеки XML Java имеют выскочил за эти годы. В настоящее время наиболее популярными из них являются
И последнее, но не менее важное, я просто должен упомянуть StAX только потому, что он другой, это ' s фактически управляемый событиями потоковый API для XML. Определенно стоит взглянуть только из любопытства.
PS. В настоящее время я пишу свой собственный XML-анализатор / навигатор в качестве упражнения, но еще не решил, какой у него будет API. Я действительно стремлюсь к простоте использования, что пока что довольно редко встречается в Java XML API, но я не совсем уверен, какой API я собираюсь предоставить. ElementTree Python кажется интересным, но, поскольку я не совсем знаком с ним, не могли бы вы вкратце рассказать, что именно вам нравится в нем?
m действительно стремится к простоте использования, что пока что довольно редко встречается в API Java XML, но я не совсем уверен, какой API я собираюсь предоставить. ElementTree Python кажется интересным, но, поскольку я не совсем знаком с ним, не могли бы вы кратко рассказать о том, что именно вам нравится в нем? m действительно стремится к простоте использования, что пока что довольно редко встречается в API Java XML, но я не совсем уверен, какой API я собираюсь предоставить. ElementTree Python кажется интересным, но, поскольку я не совсем знаком с ним, не могли бы вы вкратце рассказать, что именно вам нравится в нем?Вы могли бы изучить следующие альтернативы:
Поскольку я никогда не использовал ElementTree, я не знаю, какой из них наиболее близок. Если вы можете использовать Groovy внутри своего проекта, он предлагает набор классов, которые очень помогают при обработке XML.
Мы обнаружили, что XOM ( http://www.xom.nu ) обеспечивает простую подклассификационную функциональность элемента.
Это правда, что Java XML API не самые лучшие с точки зрения удобства использования. Я предпочитаю XOM , JDOM , затем встроенный JAXP именно в таком порядке. Были некоторые разговоры о собственном XML на языке ( Подпрограммы на вкладке «Начало продукта» Интеграция XML в язык программирования Java ) в качестве нового типа данных, но это, похоже, застопорилось.