本文整理匯總了C#中System.Xml.XmlTextReader類的典型用法代碼示例。如果您正苦於以下問題:C# XmlTextReader類的具體用法?C# XmlTextReader怎麽用?C# XmlTextReader使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
XmlTextReader類屬於System.Xml命名空間,在下文中一共展示了XmlTextReader類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Deserialize
public static IncomingTransportMessage Deserialize(string messageId, Stream inputStream)
{
var headers = new Dictionary<string, string>();
var serializedMessageData = "";
using (var reader = new XmlTextReader(inputStream))
{
reader.WhitespaceHandling = WhitespaceHandling.None;
reader.Read(); // read <root>
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
var elementName = reader.Name;
reader.Read(); // read the child;
while (reader.NodeType == XmlNodeType.Element)
{
// likely an empty header element node
headers.Add(elementName, reader.Value);
elementName = reader.Name;
reader.Read(); // read the child;
}
if (string.Equals(elementName, "body", StringComparison.InvariantCultureIgnoreCase) && reader.NodeType == XmlNodeType.CDATA)
{
serializedMessageData = reader.Value;
}
else if (reader.NodeType == XmlNodeType.Text)
{
headers.Add(elementName, reader.Value);
}
}
}
}
return new IncomingTransportMessage(messageId, headers, serializedMessageData);
}
示例2: AvatarAnimations
public AvatarAnimations()
{
using (XmlTextReader reader = new XmlTextReader("data/avataranimations.xml"))
{
XmlDocument doc = new XmlDocument();
doc.Load(reader);
foreach (XmlNode nod in doc.DocumentElement.ChildNodes)
{
if (nod.Attributes["name"] != null)
{
string name = nod.Attributes["name"].Value;
UUID id = (UUID) nod.InnerText;
string animState = nod.Attributes["state"].Value;
try
{
AnimsUUID.Add(name, id);
if (animState != "" && !AnimStateNames.ContainsKey(id))
AnimStateNames.Add(id, animState);
}
catch
{
}
}
}
}
}
示例3: Transform
private static StringBuilder Transform(string gcmlPath)
{
if(!File.Exists(gcmlPath))
{
throw new GCMLFileNotFoundException("The GCML File" + gcmlPath + " does not exist.");
}
if(!File.Exists(xsltFilePath))
{
throw new XSLTFileNotFoundException("The XSLT File" + xsltFilePath + " does not exist.");
}
StringBuilder sb = new StringBuilder();
XmlTextReader xmlSource = new XmlTextReader(gcmlPath);
XPathDocument xpathDoc = new XPathDocument(xmlSource);
XslCompiledTransform xsltDoc = new XslCompiledTransform();
xsltDoc.Load(xsltFilePath);
StringWriter sw = new StringWriter(sb);
try
{
xsltDoc.Transform(xpathDoc, null, sw);
}
catch (XsltException except)
{
Console.WriteLine(except.Message);
throw except;
}
return sb;
}
示例4: RepertoireRepository
public RepertoireRepository()
{
XmlReader reader = new XmlTextReader(path);
List<TheaterRepertoire> filereprt = (List<TheaterRepertoire>)writers.Deserialize(reader);
reader.Close();
this.repertoiresList = filereprt;
}
示例5: advanceToElement
private void advanceToElement(ref XmlTextReader reader, string element)
{
while (!reader.Name.EndsWith(element))
{
reader.Read();
}
}
示例6: LoadChannels
private static void LoadChannels()
{
XmlReader reader = new XmlTextReader("channel.xml");
while (reader.Read())
{
switch (reader.Name)
{
case "CHANNEL":
MMatchChannel channel = new MMatchChannel();
channel.szName = reader.GetAttribute("name");
if (!Int32.TryParse(reader.GetAttribute("levelmin"), out channel.nMinLevel))
channel.nMinLevel = 0;
channel.nMaxUsers = Int32.Parse(reader.GetAttribute("maxplayers"));
channel.uidChannel = Convert.ToUInt64(mChannels.Count);
channel.nChannelType = MMatchChannelType.General;
switch (reader.GetAttribute("rule"))
{
case "elite":
channel.nChannelRule = MMatchChannelRule.Elite;
break;
}
mChannels.Add(channel);
break;
}
}
}
示例7: Parse
public List<ProgramElement> Parse(string filename)
{
var programElements = new List<ProgramElement>();
XmlTextReader reader = new XmlTextReader(filename);
while (reader.Read())
{
string text = String.Empty;
if (reader.NodeType == XmlNodeType.Text)
{
text = reader.Value;
}
else if (reader.NodeType == XmlNodeType.Element)
{
while (reader.MoveToNextAttribute())
{
text += reader.Value + " ";
}
}
if (!String.IsNullOrWhiteSpace(text))
{
var cleanedText = text.TrimStart(' ', '\n', '\r', '\t');
cleanedText = cleanedText.TrimEnd(' ', '\n', '\r', '\t');
var linenum = reader.LineNumber;
var snippet = SrcMLParsingUtils.RetrieveSource(cleanedText);
var pe = new TextFileElement(filename, snippet, cleanedText);
programElements.Add(pe);
}
}
return programElements;
}
示例8: CategoriesInfoRepository
public CategoriesInfoRepository()
{
XmlReader reader = new XmlTextReader(path);
List<CategoryInfo> infoFromXml = (List<CategoryInfo>)writers.Deserialize(reader);
reader.Close();
this.categoriesInfolList = infoFromXml;
}
示例9: ReadTokensFromXML
private string ReadTokensFromXML()
{
string tokens = String.Empty;
try
{
XmlTextReader tokensXmlReader = new XmlTextReader(String.Format(@"{0}\{1}",
System.IO.Directory.GetCurrentDirectory(),
xmlName));
while (tokensXmlReader.Read())
{
if (tokensXmlReader.NodeType == XmlNodeType.Element && tokensXmlReader.Name == "token")
{
tokens += String.Format("Token \"{0}\"\n \tLine: {1}\n \tPosition: {2}\n \tValue: {3}\n\n",
tokensXmlReader.GetAttribute("type"),
Convert.ToString(Convert.ToInt32(tokensXmlReader.GetAttribute("line")) + 1),
tokensXmlReader.GetAttribute("position"),
tokensXmlReader.GetAttribute("value"));
}
}
tokensXmlReader.Close();
return tokens;
}
catch
{
return "";
}
}
示例10: visualizeDo_Click
protected void visualizeDo_Click(object sender, EventArgs e)
{
// get xslt file
string xslt = "";
if (xsltSelection.Value.Contains("<xsl:stylesheet"))
{
xslt = xsltSelection.Value;
}
else
{
System.IO.StreamReader xsltFile =
System.IO.File.OpenText(
IOHelper.MapPath(SystemDirectories.Umbraco + "/xslt/templates/clean.xslt")
);
xslt = xsltFile.ReadToEnd();
xsltFile.Close();
// parse xslt
xslt = xslt.Replace("<!-- start writing XSLT -->", xsltSelection.Value);
// prepare support for XSLT extensions
xslt = macro.AddXsltExtensionsToHeader(xslt);
}
Dictionary<string, object> parameters = new Dictionary<string, object>(1);
parameters.Add("currentPage", library.GetXmlNodeById(contentPicker.Value));
// apply the XSLT transformation
string xsltResult = "";
XmlTextReader xslReader = null;
try
{
xslReader = new XmlTextReader(new StringReader(xslt));
System.Xml.Xsl.XslCompiledTransform xsl = macro.CreateXsltTransform(xslReader, false);
xsltResult = macro.GetXsltTransformResult(new XmlDocument(), xsl, parameters);
}
catch (Exception ee)
{
xsltResult = string.Format(
"<div class=\"error\"><h3>Error parsing the XSLT:</h3><p>{0}</p></div>",
ee.ToString());
}
finally
{
xslReader.Close();
}
visualizeContainer.Visible = true;
// update output
visualizeArea.Text = !String.IsNullOrEmpty(xsltResult) ? "<div id=\"result\">" + xsltResult + "</Div>" : "<div class=\"notice\"><p>The XSLT didn't generate any output</p></div>";
// add cookie with current page
// zb-00004 #29956 : refactor cookies names & handling
cookie.SetValue(contentPicker.Value);
}
示例11: Read_Metadata
/// <summary> Reads metadata from an open stream and saves to the provided item/package </summary>
/// <param name="Input_Stream"> Open stream to read metadata from </param>
/// <param name="Return_Package"> Package into which to read the metadata </param>
/// <param name="Options"> Dictionary of any options which this metadata reader/writer may utilize </param>
/// <param name="Error_Message">[OUTPUT] Explanation of the error, if an error occurs during reading </param>
/// <returns>TRUE if successful, otherwise FALSE </returns>
public bool Read_Metadata(Stream Input_Stream, SobekCM_Item Return_Package, Dictionary<string, object> Options, out string Error_Message)
{
// Set default error outpt message
Error_Message = String.Empty;
// Create a XML reader and read the metadata
XmlTextReader nodeReader = null;
bool returnValue = true;
try
{
// create the node reader
nodeReader = new XmlTextReader(Input_Stream);
MODS_METS_dmdSec_ReaderWriter.Read_MODS_Info(nodeReader, Return_Package.Bib_Info, Return_Package);
}
catch (Exception ee)
{
Error_Message = "Error reading MODS from stream: " + ee.Message;
returnValue = false;
}
finally
{
if (nodeReader != null)
nodeReader.Close();
}
return returnValue;
}
示例12: ScanDirectory
List<SyntaxMode> ScanDirectory(string directory)
{
string[] files = Directory.GetFiles(directory);
List<SyntaxMode> modes = new List<SyntaxMode>();
foreach (string file in files) {
if (Path.GetExtension(file).Equals(".XSHD", StringComparison.OrdinalIgnoreCase)) {
XmlTextReader reader = new XmlTextReader(file);
while (reader.Read()) {
if (reader.NodeType == XmlNodeType.Element) {
switch (reader.Name) {
case "SyntaxDefinition":
string name = reader.GetAttribute("name");
string extensions = reader.GetAttribute("extensions");
modes.Add(new SyntaxMode(Path.GetFileName(file),
name,
extensions));
goto bailout;
default:
throw new HighlightingDefinitionInvalidException("Unknown root node in syntax highlighting file :" + reader.Name);
}
}
}
bailout:
reader.Close();
}
}
return modes;
}
示例13: FromXml
private void FromXml(String xmlStream)
{
try
{
StringReader stringReader = new StringReader(xmlStream);
XmlTextReader reader = new XmlTextReader(stringReader);
while (reader.EOF == false)
{
reader.ReadStartElement("ValidationContext");
String generateSummaryResults = reader.ReadElementString("GenerateSummaryResults");
if (generateSummaryResults == "true")
{
_generateSummaryResults = true;
}
String generateDetailedResults = reader.ReadElementString("GenerateDetailedResults");
if (generateDetailedResults == "true")
{
_generateDetailedResults = true;
}
// ...
// EVS Specific Context properties
// ...
reader.ReadElementString("EvsSpecificContext");
reader.ReadEndElement();
}
reader.Close();
}
catch (Exception e)
{
String message = String.Format("Failed to FromXml() DVTK DICOM EVS Validation Context XML stream: \"{0}\". Error: \"{1}\"", xmlStream, e.Message);
throw new Exception(message, e);
}
}
示例14: CreateInstance
/// <summary>
/// Creates an instance of the given type from the specified Internet resource.
/// </summary>
/// <param name="htmlUrl">The requested URL, such as "http://Myserver/Mypath/Myfile.asp".</param>
/// <param name="xsltUrl">The URL that specifies the XSLT stylesheet to load.</param>
/// <param name="xsltArgs">An <see cref="XsltArgumentList"/> containing the namespace-qualified arguments used as input to the transform.</param>
/// <param name="type">The requested type.</param>
/// <param name="xmlPath">A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes.</param>
/// <returns>An newly created instance.</returns>
public object CreateInstance(string htmlUrl, string xsltUrl, XsltArgumentList xsltArgs, Type type,
string xmlPath)
{
StringWriter sw = new StringWriter();
XmlTextWriter writer = new XmlTextWriter(sw);
if (xsltUrl == null)
{
LoadHtmlAsXml(htmlUrl, writer);
}
else
{
if (xmlPath == null)
{
LoadHtmlAsXml(htmlUrl, xsltUrl, xsltArgs, writer);
}
else
{
LoadHtmlAsXml(htmlUrl, xsltUrl, xsltArgs, writer, xmlPath);
}
}
writer.Flush();
StringReader sr = new StringReader(sw.ToString());
XmlTextReader reader = new XmlTextReader(sr);
XmlSerializer serializer = new XmlSerializer(type);
object o;
try
{
o = serializer.Deserialize(reader);
}
catch (InvalidOperationException ex)
{
throw new Exception(ex + ", --- xml:" + sw);
}
return o;
}
示例15: Parser
public Parser(XmlTextReader reader)
{
this.reader = reader;
this.reader.WhitespaceHandling = WhitespaceHandling.None;
// 'None' only prevents whitespace being returned as a node
// Now assuming that there is no embedded whitespace that isn't significant.
}