|
Программирование >> Программирование с использованием ajax
else if (root is XmlText) { Печатать текст. string text = ((XmlText)root).Value; listBoxResult.Items.Add(text.PadLeft(text.Length + indent)); else if (root is XmlComment) { Печатать текст, string text = root.Value; listBoxResult.Items.Add(text.PadLeft(text.Length + indent)); Проверить наличие дочерних узлов, и если они есть, вызвать этот же метод для их печати, if (root.HasChildNodes) RecurseXmlDocument(root.FirstChild, indent + 2); private void RecurseXmlDocument(XmlNode root, int indent) Ничего не делать, если root равен null, if (root == null) return; if (root is XmlElement) Корень имеет тип XmlElement { Сначала напечатать имя. listBoxResult.Items.Add(root.Name.PadLeft(root.Name.Length + indent)); Проверить наличие дочерних узлов, и если они есть, вызвать этот же метод для их печати, if (root.HasChildNodes) RecurseXmlDocument(root.FirstChild, indent + 2); Наконец, проверить наличие соседних узлов и если они есть, вызвать этот же метод для их печати, if (root.NextSibling != null) RecurseXmlDocument(root.NextSibling, indent); else if (root is XmlText) { Напечатать текст. string text = ( (XmlText)root).Value; listBoxResult.Items.Add(text.PadLeft(text.Length + indent)); else if (root is XmlComment) { Напечатать текст, string text = root.Value; listBoxResult.Items.Add(text.PadLeft(text.Length + indent)); Проверить наличие дочерних узлов, и если они есть, вызвать этот же метод для их печати, if (root.HasChildNodes) RecurseXmlDocument(root.FirstChild, indent + 2); Наконец, проверить наличие соседних узлов и если они есть, вызвать этот же метод для их печати, if (root.NextSibling != null) RecurseXmlDocument(root.NextSibling, indent); private void ClearListBox () { listBoxResult.Items.Clear(); private void buttonClose Click(object sender, EventArgs e) ( Application.Exit (); 6. Вставьте код для выполнения запросов к XML в событие SelectionChange переключателей. Вставляйте каждое событие по двойному щелчку на переключателях: private void radioButtonSelectRoot CheckedChanged(object sender, EventArgs e) { mCurrentNode = mDocument.DocumentElement.SelectSingleNode( books ) ; ClearListBox 0; RecurseXmlDocument(mCurrentNode, 0) ; private void radioButtonSelectAllAuthors CheckedChanged(object sender, EventArgs e) if (mCurrentNode != null) { XmlNodeList nodeList = mCurrentNode.SelectNodes( book/author ) ; ClearListBox 0; DisplayList(nodeList); else ClearListBox 0; private void radioButtonSelectBySpecificAuthor CheckedChanged(object sender, EventArgs e) if (mCurrentNode != null) { XmlNodeList nodeList = mCurrentNode.SelectNodes( book[author=Jacob Hammer Pedersen] ); ClearListBox 0; DisplayList(nodeList); else ClearListBox 0; private void radioButtonSelectAllBooks CheckedChanged(object sender, EventArgs e) if (mCurrentNode 1= null) { XmlNodeList nodeList = mCurrentNode.SelectNodes( book ); ClearListBox(); DisplayList(nodeList); else ClearListBox 0; private void radioButtonSetBookAsCurrent CheckedChanged(object sender, EventArgs e) if (mCurrentNode != null) { mCurrentNode = mCurrentNode.SelectSingleNode( book[title=Beginning Visual C#] ); ClearListBox 0; RecurseXmlDocumentNoSiblings(mCurrentNode, 0) ; else ClearListBox 0; private void radioButtonSetBooksAsCurrent CheckedChanged(object sender, EventArgs e) if (mCurrentNode != null) ( mCurrentNode = mCurrentNode.SelectSingleNode( books ); ClearListBox 0; RecurseXmlDocumentNoSiblings(mCurrentNode, 0) ; else ClearListBox 0; private void radioButtonSelectAllChildren CheckedChanged(object sender, EventArgs e) if (mCurrentNode != null) { XmlNodeList nodeList = mCurrentNode.SelectNodes( * ); ClearListBox(); DisplayList(nodeList); else ClearListBox0; 7. И, наконец, вставьте код, который выполнится, когда пользователь введет что-нибудь в текстовом поле, и код, который закроет приложение по щелчку на кнопке buttonClose: private void buttonExecute Click(object sender, EventArgs e) { if (textBoxQuery.Text == ) return; try XmlNodeList nodeList = mCurrentNode.SelectNodes(textBoxQuery.Text); ClearListBox 0; DisplayList(nodeList); catch (System.Exception err) { MessageBox.Show(err.Message);
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |