Быстрый ответ: вы не можете этого сделать.
Вот почему
Существует окончательная база данных мировых часовых поясов, вы можете получить ее от IANA здесь .
Проблема состоит в том, что аббревиатуры 3 или 4 буквы имеют многозначную связь с часовыми поясами IANA. Например, "AMT"
означает разные вещи, в зависимости от вашей культуры, в какой части мира вы находитесь и в контексте вашего приложения.
AMT "Armenia Time" Asia UTC + 4 hours
AMT "Amazon Time" South America UTC - 4 hours
Если вы действительно хотите Чтобы решить эту проблему, я предлагаю использовать Noda Time для представления ваших Instance
s. Вам нужно будет написать код для преобразования сокращений в стандартный часовой пояс IANA.
Мы не можем сделать это для вас, это зависит от контекста вашего приложения.
Другим хорошим примером является "CST"
.
CST "China Standard Time" Asia UTC + 8 hours
CST "Central Standard Time" Central America UTC - 6 hours
CST "Cuba Standard Time" Caribbean UTC - 5 hours
CST "Central Standard Time" North America UTC - 6 hours
Вы столкнулись с общей проблемой: выбор XML, который находится в пространстве имен. Когда вы выбираете /findToFileResponse
, вы выбираете элемент с именем findToFileResponse
, но поскольку префикс пространства имен не указан, предполагается, что вы хотите выбирать элементы без пространства имен, что является общим.
Однако вы можете видеть, что ваш XML-документ находится в пространстве имен, потому что он использует атрибут пространства имен по умолчанию , что приводит к тому, что все его потомки включаются в это пространство имен (если не указано иное):
xmlns="xmlapi_1.0"
Чтобы выбрать элемент в этом пространстве имен, сначала нужно объявить его и присвоить префиксу в прологе XQuery:
declare namespace api = "xmlapi_1.0";
Сейчас Вы можете выбрать элементы в этом пространстве имен, используя префикс:
/api:findToFileResponse
Вы также можете выбрать элементы в любом пространстве имен, используя префикс подстановочного знака:
/*:findToFileResponse