2015-03-25 3 views
-1

Я работаю над проектом в визуальной студии, который импортирует CSV и экспортирует XML-файл. Я хотел бы иметь возможность заставить код работать как XML и HTML, и просматривать его в браузере. Я получаю эту ошибку, когда я загрузить файл XML в браузере:Ошибка анализа XML: неправильно сформирована при загрузке в браузер

Firefox

XML Parsing Error: not well-formed
Location: file:///C:/Users/fenwky/XmlDoc.xml
Line Number 2, Column 6: <?xsl:stylesheet <abc:stylesheet xmlns="http://www.w3.org/1999/XSL/Transform" version="1.0">?>

Chrome

This page contains the following errors: error on line 2 at column 16: colon are forbidden from PI names 'xsl:transform'

Это то, что мой C# код выглядит в визуально студии 2013:

// Create a procesing instruction. 
XmlProcessingInstruction newPI; 

// Stylesheet 
String PItext = "<abc:stylesheet xmlns:abc=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"; 
newPI = doc.CreateProcessingInstruction("abc:stylesheet", PItext); 
doc.InsertAfter(newPI, doc.FirstChild); 

// Save document 
doc.Save(xmlfilename); 
+3

XML '?>' Действительно недействителен. – slugster

ответ

1

Если вы пытаетесь вставить инструкцию обработки в XML, параметр данныхВ этом случае методне должен содержать имя инструкции обработки. Другими словами, вы просто должны это сделать ...

var PItext = "xmlns:abc=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\""; 
    var newPI = doc.CreateProcessingInstruction("abc:stylesheet", PItext); 
    doc.InsertAfter(newPI, doc.FirstChild); 

Однако, мне интересно, почему вы пытаетесь добавить конкретную инструкцию по обработке в документ XML. Возможно, вы хотите связать документ XML с отдельным документом XSLT, поэтому он будет преобразован, если он будет прочитан браузером?

Если да, то вы, вероятно, нужно делать это ...

var piText = "type=\"text/xsl\" href=\"style1.xsl\""; 
    var newPI = doc.CreateProcessingInstruction("xml-stylesheet", piText); 
    doc.InsertAfter(newPI, doc.FirstChild); 

Это будет написать следующую инструкцию по обработке в XML, который затем может быть прочитан в браузере:

<?xml-stylesheet type="text/xsl" href="style1.xsl"?> 
+0

Cheers, Tim. Это сделал трюк! – solstice74

Смежные вопросы