Comment puis-je extraire la valeur d'attribut de l'élément XML en utilisant XML Extractor dans U-SQL pour mon travail Azure Data Lake Analytic.Comment extraire les valeurs d'attribut d'un élément XML à l'aide de XML Extractor dans U-SQL
Mise à jour: Plus de détails sur la question
Mon fichier XML ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?>
<testelement testatr="xyz">
</testelement>
Voici mon script U-SQL:
Après le débogage j'ai observé , une exception s'est produite lors du chargement de la méthode Load de la classe XPath:
"<?xml version=1.0 encoding=utf-8?>"
Voici une exception:
Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.ScopeDebugException was unhandled
Message: An unhandled exception of type 'Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.ScopeDebugException' occurred in Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.dll
Additional information: {"diagnosticCode":195887111,"severity":"Error","component":"RUNTIME","source":"User","errorId":"E_RUNTIME_USER_EXPRESSIONEVALUATION","message":"Error while evaluating expression Microsoft.Analytics.Samples.Formats.Xml.XPath.Evaluate(log, \"testelement/attribute::testatr\").ElementAt(0)","description":"Inner exception from user expression: '1.0' is an unexpected token. The expected token is '\"' or '''. Line 1, position 15.\nCurrent row dump: \tlog:\t\"<?xml version=1.0 encoding=utf-8?>\"
\n","resolution":"","helpLink":"","details":"==== Caught exception System.Xml.XmlException\n\n at System.Xml.XmlTextReaderImpl.Throw(Exception e)
\n at System.Xml.XmlTextReaderImpl.ParseXmlDeclaration(Boolean isTextDecl)
\n at System.Xml.XmlTextReaderImpl.Read()
\n at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
\n at System.Xml.XmlDocument.Load(XmlReader reader)
\n at System.Xml.XmlDocument.LoadXml(String xml)
\n at Microsoft.Analytics.Samples.Formats.Xml.XPath.Load(String xml)
\n at Microsoft.Analytics.Samples.Formats.Xml.XPath.Evaluate(String xml, String xpath)
\n at ___Scope_Generated_Classes___.SqlFilterTransformer_2.Process(IRow row, IUpdatableRow output) in c:\\workarea\\bswbigdata\\USQLAppForLogs\\USQLAppForLogs\\bin\\Debug\\A06D46624BBA798\\ReadBlobs.usql.Debug_A54F30D359F939C7\\__ScopeCodeGen__.dll.cs:line 53","internalDiagnostics":""}
Mise à jour 2:
Après avoir utilisé citer: faux Je reçois une autre exception:
Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.ScopeDebugException was unhandled
Message: An unhandled exception of type 'Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.ScopeDebugException' occurred in Microsoft.Cosmos.ScopeStudio.BusinessObjects.Debugger.dll
Additional information: {"diagnosticCode":195887111,"severity":"Error","component":"RUNTIME","source":"User","errorId":"E_RUNTIME_USER_EXPRESSIONEVALUATION","message":"Error while evaluating expression Microsoft.Analytics.Samples.Formats.Xml.XPath.Evaluate(log, \"testelement/attribute::testatr\").ElementAt(0)","description":"Inner exception from user expression: Root element is missing.\nCurrent row dump: \tlog:\t\"<?xml version=\"1.0\" encoding=\"utf-8\"?>\"
\n","resolution":"","helpLink":"","details":"==== Caught exception System.Xml.XmlException\n\n at System.Xml.XmlTextReaderImpl.Throw(Exception e)
\n at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
\n at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
\n at System.Xml.XmlDocument.Load(XmlReader reader)
\n at System.Xml.XmlDocument.LoadXml(String xml)
\n at Microsoft.Analytics.Samples.Formats.Xml.XPath.Load(String xml)
\n at Microsoft.Analytics.Samples.Formats.Xml.XPath.Evaluate(String xml, String xpath)
\n at ___Scope_Generated_Classes___.SqlFilterTransformer_2.Process(IRow row, IUpdatableRow output) in c:\\workarea\\bswbigdata\\USQLAppForLogs\\USQLAppForLogs\\bin\\Debug\\A06D46624BBA798\\ReadBlobs.usql.Debug_A54F30D359F939C7\\__ScopeCodeGen__.dll.cs:line 53","internalDiagnostics":""}
Merci Michael, j'ai essayé cette approche mais j'ai eu une exception. S'il vous plaît voir les détails des questions mises à jour. – Jamil
Merci Jamil. J'ai mis à jour ma réponse en fonction de vos détails supplémentaires. –