Я пытаюсь вставить данные в таблицу в SQL из данных XML. Файл XML был создан из Microsoft Excel, которая дает ему этот заголовок:SQL XML Import: XQuery [значение()]: ")" ожидалось
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
Я использую этот запрос, чтобы разобрать его:
;WITH XMLNAMESPACES ('urn:schemas-microsoft-com:office:spreadsheet' as ss)
select X.value('(ss:Row/ss:Cell/ss:@Data)','varchar(max)')
from @allUsers.nodes('Workbook/Worksheet/Table') as T(X)
который разбирает около полсекунды, а затем дает мне эта ошибка:
XQuery [value()]: ")" was expected.
данные в XML разбираемый содержат номера телефонов, некоторые из которых содержат (
и )
например:
<Row ss:AutoFitHeight="0" ss:Height="30">
<Cell ss:StyleID="s22"/>
<Cell ss:StyleID="s24"><Data ss:Type="String">JohnSmith</Data></Cell>
<Cell ss:StyleID="s24"><Data ss:Type="String">JohnSmith</Data></Cell>
<Cell ss:StyleID="s24"><Data ss:Type="String">XYZ</Data></Cell>
<Cell ss:StyleID="s24"><Data ss:Type="String">(555) 555-5555</Data></Cell>
<Cell ss:StyleID="s22"/>
</Row>
но я не думаю, что открытые круглые скобки внутри этого могут вызвать проблему.
Мой вопрос: кто-нибудь еще сталкивался с этой ошибкой раньше, так как я не могу найти какую-либо помощь через онлайн-поиск?
EDIT Я думаю, что в этом случае я, возможно, шел в неправильном направлении. Я разместил здесь новый вопрос: Separating XML values with the same tags into different rows SQL Server
Это замечательно. Благодарю. –
Рад прочитать, что я могу вам помочь ... Было бы неплохо проголосовать, THX! – Shnugo
На самом деле я думаю, что другой вопрос имеет более точное название и описание проблемы и будет более полезен для других в будущем. Не могли бы вы изменить свой ответ на этот вопрос? Я собираюсь включить информацию заголовка отсюда –