Invalid xml content что это
The service you’ve requested couldn’t be identified
No matches have been found between requested website and protected IP address
If you are trying to visit this site, please try again later.
If you are a target website owner please make sure that:
— DNS A record points to the protected IP address for the requested website
— The DDoS protection and optimization service is active for the requested website
Protection and Acceleration by DDoS-Guard
Почему тип столбца xml не проверяет входное значение?
При этом спокойно вставляю в таблицу произвольную строку и никакой проверки не происходит, данные записываются в таблицу.
- Вопрос задан 31 июл. 2023
- 76 просмотров
Комментировать
Решения вопроса 1
PostgreSQL DBA
melkij=> select 'hello'::xml; xml ------- hello (1 строка) melkij=> select 'hello'::xml; ERROR: invalid XML content СТРОКА 1: select 'hello'::xml; ^ ПОДРОБНОСТИ: line 1: Premature end of data in tag foo line 1 hello ^ line 1: chunk is not well balanced hello
Если вам нужно проверить, что это не просто валидный xml, но целый документ — добавьте check constraint с проверкой на columnname is document
Ответ написан 31 июл. 2023
Нравится 1 2 комментария
Товарищ спрашивал не за приведение типа, а именно за поле с указанным типом и autocheck
и в чём разница, если это одна и та же input функция? Можно переписать в create table с insert’ами, букв куда больше, а результат не поменяется.
Ответы на вопрос 1
Сетевой и системный админ, SQL-программист.
При этом по факту я спокойно вставляю в таблицу произвольную строку и никакой проверки не происходит, данные спокойно записываются в таблицу.
Произвольный текст, не содержащий тегов, является валидным содержимым, но не XML документом. Не-XML фрагмент игнорируется при проверке.
Попробуйте вставить нечто, являющееся документом/фрагментом XML, но с ошибкой в разметке — тут же схлопочете ошибку.
DEMO
Средство синтаксического анализа XML: в текстовом содержимом найден недопустимый символ
Эта статья поможет устранить ошибки при синтаксическом анализе языка XML, содержащего специальные символы, с помощью средства синтаксического анализа XML (MSXML) Майкрософт.
Исходная версия продукта: платформа .NET Framework
Исходный номер базы знаний: 238833
Признак
При синтаксическом анализе XML, содержащего специальные символы, с помощью средства синтаксического анализа Microsoft XML (MSXML) средство синтаксического анализа может сообщить следующее сообщение об ошибке в строке и позиции первого специального символа:
В текстовом содержимом найден недопустимый символ.
Причина
XML-документ не помечается правильной схемой кодирования символов.
Решение
- Укажите правильную схему кодирования в инструкции по обработке XML.
- Повторно закодируйте XML-данные как правильные UTF-8.
Статус
Такое поведение является особенностью данного продукта.
Дополнительная информация
Специальный символ относится к любому символу за пределами стандартного набора символов Американского стандартного кода для обмена информацией (ASCII) 0x00 — 0x7F, например латинские символы с акцентами, умлауты или другие диакритические знаки. Схема кодирования XML-документов по умолчанию — UTF-8, которая кодирует символы ASCII со значением 0x80 или выше, иначе, чем в других стандартных схемах кодирования.
Чаще всего эта проблема возникает при работе с данными, использующими простую схему кодирования iso-8859-1. В этом случае самым быстрым решением обычно является первое из перечисленных выше в разделе Разрешение . Например, используйте следующее объявление XML:
. XML data.
Вместо этого можно закодировать каждый из этих символов с помощью ссылки на числовые сущности. Например, можно взять специальный символ á, использовать
Обратная связь
Были ли сведения на этой странице полезными?
Invalid xml content что это
> вылетает ошибка ASN1, неправильный Base64
Это похоже на ошибки связанные с тем, что строки в JS/VS в Unicode, а не в байтах. Надо тщательно следить за преобразованиями.
| 13.09.2004 16:52:56 | timda |
| 13.09.2004 17:54:05 | Serge3leo |
| 13.09.2004 18:21:44 | timda |
var XML = new ActiveXObject(«Msxml2.DOMDocument.4.0»);
XML.async = false;
XML.loadXML(strXML);
var signedData = new ActiveXObject(«CAPICOM.SignedData»)
var signer = new ActiveXObject(«CAPICOM.Signer»);
signer.Certificate = Certificate; // здесь выбран сертификат Certificate = new ActiveXObject(«CAPICOM.Certificate»);
signedData.Content = XML.xml;
var signature = signedData.Sign(signer, true, 0);
формируем strURL
xmlhttp.Open(«GET», strURL, true);
отправляем
тама вижу ошибки на дот нет 😉
где могут быть ошибки ?
| 14.09.2004 13:17:32 | timda |
if (!xmldsig.signature)
alert(«Invalid signature template\n»);
return false;
>
var _key = cert.PrivateKey.ContainerName;
document.all.a.value = _key;
var oKey = xmldsig.createKeyFromCSP(1, «», _key, 0);
| 30.09.2004 12:02:07 | timda |
| 30.09.2004 17:24:26 | xyz |
JScript Source: sign.js
var xmldoc, xmldsig, infile;
var szResult = «»;
NOKEYINFO = 0;
KEYVALUE = 1;
CERTIFICATES = 2;
PURGE = 4;
DSIGNS = «xmlns:ds=’http://www.w3.org/2000/09/xmldsig#’»;
PROV_RSA_FULL = 1;
// Change this key container name to your own if necessary.
RSA_KEY = «MyRSAFullKeys»;
csp = PROV_RSA_FULL;
key = RSA_KEY;
infile = «signature_template.sign.rsa.xml»;
alert(«Sign with fwWriteKeyInfo = NOKEYINFO:»);
SignXML(NOKEYINFO);
alert(«Sign with fwWriteKeyInfo = KEYVALUE:»);
SignXML(KEYVALUE|PURGE);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES:»);
SignXML(CERTIFICATES);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES|PURGE:»);
SignXML(CERTIFICATES|PURGE);
alert(«Sign with fwWriteKeyInfo = PURGE:»);
SignXML(PURGE);
>
///////// Helper functions. /////////
function alert(str)
///////// Set the signature for signing. ////////
function InitXML()
try xmldoc = new ActiveXObject(«Msxml2.DOMDOcument.5.0»);
xmldsig= new ActiveXObject(«Msxml2.MXDigitalSignature.5.0»);
>
catch (e) alert(«Installation of mxsml5 is required to run this app.\n»);
return false;
>
xmldoc.async = false;
xmldoc.preserveWhiteSpace = true;
xmldoc.validateOnParse = false;
xmldoc.resolveExternals = false;
return true;
>
function LoadXML(file)
if (xmldoc == null) alert(«must instantiate xml dom\n»);
return false;
>
if (!xmldoc.load(file)) alert(«Can’t load «+ file + «\n»);
return false;
>
xmldoc.setProperty(«SelectionNamespaces», DSIGNS);
xmldsig.signature = xmldoc.selectSingleNode(«.//ds:Signature»);
return true;
>
function SignXML(fwWriteKeyInfo)
if (!xmldsig.signature)
alert(«Invalid signature template\n»);
return false;
>
var oKey = xmldsig.createKeyFromCSP(csp, «», key, 0);
if (!oKey)
alert(«Invalid key.\n»);
return false;
>
var oSignedKey = xmldsig.sign(oKey,fwWriteKeyInfo);
if (!oSignedKey)
alert(«sign failed.\n»);
return false;
>
alert(«The specified data was signed successfully.\n»+
«Resultant signature:\n»+
xmldoc.xml + «\n»);
return true;
>
Try It!
| 30.09.2004 17:24:39 | xyz |
JScript Source: sign.js
var xmldoc, xmldsig, infile;
var szResult = «»;
NOKEYINFO = 0;
KEYVALUE = 1;
CERTIFICATES = 2;
PURGE = 4;
DSIGNS = «xmlns:ds=’http://www.w3.org/2000/09/xmldsig#’»;
PROV_RSA_FULL = 1;
// Change this key container name to your own if necessary.
RSA_KEY = «MyRSAFullKeys»;
csp = PROV_RSA_FULL;
key = RSA_KEY;
infile = «signature_template.sign.rsa.xml»;
alert(«Sign with fwWriteKeyInfo = NOKEYINFO:»);
SignXML(NOKEYINFO);
alert(«Sign with fwWriteKeyInfo = KEYVALUE:»);
SignXML(KEYVALUE|PURGE);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES:»);
SignXML(CERTIFICATES);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES|PURGE:»);
SignXML(CERTIFICATES|PURGE);
alert(«Sign with fwWriteKeyInfo = PURGE:»);
SignXML(PURGE);
>
///////// Helper functions. /////////
function alert(str)
///////// Set the signature for signing. ////////
function InitXML()
try xmldoc = new ActiveXObject(«Msxml2.DOMDOcument.5.0»);
xmldsig= new ActiveXObject(«Msxml2.MXDigitalSignature.5.0»);
>
catch (e) alert(«Installation of mxsml5 is required to run this app.\n»);
return false;
>
xmldoc.async = false;
xmldoc.preserveWhiteSpace = true;
xmldoc.validateOnParse = false;
xmldoc.resolveExternals = false;
return true;
>
function LoadXML(file)
if (xmldoc == null) alert(«must instantiate xml dom\n»);
return false;
>
if (!xmldoc.load(file)) alert(«Can’t load «+ file + «\n»);
return false;
>
xmldoc.setProperty(«SelectionNamespaces», DSIGNS);
xmldsig.signature = xmldoc.selectSingleNode(«.//ds:Signature»);
return true;
>
function SignXML(fwWriteKeyInfo)
if (!xmldsig.signature)
alert(«Invalid signature template\n»);
return false;
>
var oKey = xmldsig.createKeyFromCSP(csp, «», key, 0);
if (!oKey)
alert(«Invalid key.\n»);
return false;
>
var oSignedKey = xmldsig.sign(oKey,fwWriteKeyInfo);
if (!oSignedKey)
alert(«sign failed.\n»);
return false;
>
alert(«The specified data was signed successfully.\n»+
«Resultant signature:\n»+
xmldoc.xml + «\n»);
return true;
>
Try It!
| 30.09.2004 17:24:43 | xyz |
JScript Source: sign.js
var xmldoc, xmldsig, infile;
var szResult = «»;
NOKEYINFO = 0;
KEYVALUE = 1;
CERTIFICATES = 2;
PURGE = 4;
DSIGNS = «xmlns:ds=’http://www.w3.org/2000/09/xmldsig#’»;
PROV_RSA_FULL = 1;
// Change this key container name to your own if necessary.
RSA_KEY = «MyRSAFullKeys»;
csp = PROV_RSA_FULL;
key = RSA_KEY;
infile = «signature_template.sign.rsa.xml»;
alert(«Sign with fwWriteKeyInfo = NOKEYINFO:»);
SignXML(NOKEYINFO);
alert(«Sign with fwWriteKeyInfo = KEYVALUE:»);
SignXML(KEYVALUE|PURGE);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES:»);
SignXML(CERTIFICATES);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES|PURGE:»);
SignXML(CERTIFICATES|PURGE);
alert(«Sign with fwWriteKeyInfo = PURGE:»);
SignXML(PURGE);
>
///////// Helper functions. /////////
function alert(str)
///////// Set the signature for signing. ////////
function InitXML()
try xmldoc = new ActiveXObject(«Msxml2.DOMDOcument.5.0»);
xmldsig= new ActiveXObject(«Msxml2.MXDigitalSignature.5.0»);
>
catch (e) alert(«Installation of mxsml5 is required to run this app.\n»);
return false;
>
xmldoc.async = false;
xmldoc.preserveWhiteSpace = true;
xmldoc.validateOnParse = false;
xmldoc.resolveExternals = false;
return true;
>
function LoadXML(file)
if (xmldoc == null) alert(«must instantiate xml dom\n»);
return false;
>
if (!xmldoc.load(file)) alert(«Can’t load «+ file + «\n»);
return false;
>
xmldoc.setProperty(«SelectionNamespaces», DSIGNS);
xmldsig.signature = xmldoc.selectSingleNode(«.//ds:Signature»);
return true;
>
function SignXML(fwWriteKeyInfo)
if (!xmldsig.signature)
alert(«Invalid signature template\n»);
return false;
>
var oKey = xmldsig.createKeyFromCSP(csp, «», key, 0);
if (!oKey)
alert(«Invalid key.\n»);
return false;
>
var oSignedKey = xmldsig.sign(oKey,fwWriteKeyInfo);
if (!oSignedKey)
alert(«sign failed.\n»);
return false;
>
alert(«The specified data was signed successfully.\n»+
«Resultant signature:\n»+
xmldoc.xml + «\n»);
return true;
>
Try It!
| 30.09.2004 17:24:50 | xyz |
JScript Source: sign.js
var xmldoc, xmldsig, infile;
var szResult = «»;
NOKEYINFO = 0;
KEYVALUE = 1;
CERTIFICATES = 2;
PURGE = 4;
DSIGNS = «xmlns:ds=’http://www.w3.org/2000/09/xmldsig#’»;
PROV_RSA_FULL = 1;
// Change this key container name to your own if necessary.
RSA_KEY = «MyRSAFullKeys»;
csp = PROV_RSA_FULL;
key = RSA_KEY;
infile = «signature_template.sign.rsa.xml»;
alert(«Sign with fwWriteKeyInfo = NOKEYINFO:»);
SignXML(NOKEYINFO);
alert(«Sign with fwWriteKeyInfo = KEYVALUE:»);
SignXML(KEYVALUE|PURGE);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES:»);
SignXML(CERTIFICATES);
alert(«Sign with fwWriteKeyInfo = CERTIFICATES|PURGE:»);
SignXML(CERTIFICATES|PURGE);
alert(«Sign with fwWriteKeyInfo = PURGE:»);
SignXML(PURGE);
>
///////// Helper functions. /////////
function alert(str)
///////// Set the signature for signing. ////////
function InitXML()
try xmldoc = new ActiveXObject(«Msxml2.DOMDOcument.5.0»);
xmldsig= new ActiveXObject(«Msxml2.MXDigitalSignature.5.0»);
>
catch (e) alert(«Installation of mxsml5 is required to run this app.\n»);
return false;
>
xmldoc.async = false;
xmldoc.preserveWhiteSpace = true;
xmldoc.validateOnParse = false;
xmldoc.resolveExternals = false;
return true;
>
function LoadXML(file)
if (xmldoc == null) alert(«must instantiate xml dom\n»);
return false;
>
if (!xmldoc.load(file)) alert(«Can’t load «+ file + «\n»);
return false;
>
xmldoc.setProperty(«SelectionNamespaces», DSIGNS);
xmldsig.signature = xmldoc.selectSingleNode(«.//ds:Signature»);
return true;
>
function SignXML(fwWriteKeyInfo)
if (!xmldsig.signature)
alert(«Invalid signature template\n»);
return false;
>
var oKey = xmldsig.createKeyFromCSP(csp, «», key, 0);
if (!oKey)
alert(«Invalid key.\n»);
return false;
>
var oSignedKey = xmldsig.sign(oKey,fwWriteKeyInfo);
if (!oSignedKey)
alert(«sign failed.\n»);
return false;
>
alert(«The specified data was signed successfully.\n»+
«Resultant signature:\n»+
xmldoc.xml + «\n»);
return true;
>
Try It!