XPathNavigator.SetTypedValue(Object) Метод

Определение

Задает типизированное значение текущего узла.

public:
 virtual void SetTypedValue(System::Object ^ typedValue);
public virtual void SetTypedValue(object typedValue);
abstract member SetTypedValue : obj -> unit
override this.SetTypedValue : obj -> unit
Public Overridable Sub SetTypedValue (typedValue As Object)

Параметры

typedValue
Object

Новое типизированное значение узла.

Исключения

Тип XPathNavigator указанного объекта не поддерживается.

Указанное значение не может быть null.

Он XPathNavigator не расположен на узле элемента или атрибута.

Не поддерживает редактирование XPathNavigator .

Примеры

В следующем примере SetTypedValue метод используется для обновления всех price элементов в contosoBooks.xml файле с помощью XmlNamespaceManager объекта для разрешения префиксов пространства имен в выражении XPath.

XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings.ValidationType = ValidationType.Schema;

XmlReader reader = XmlReader.Create("contosoBooks.xml", settings);
XmlDocument document = new XmlDocument();
document.Load(reader);

XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");

Decimal price = 19.99M;
navigator.SetTypedValue(price);

navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd")
settings.ValidationType = ValidationType.Schema

Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml", settings)
Dim document As XmlDocument = New XmlDocument()
document.Load(reader)

Dim navigator As XPathNavigator = document.CreateNavigator()

navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")

Dim price As New Decimal(19.99)
navigator.SetTypedValue(price)

navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)

Пример принимает contosoBooks.xml файл в качестве входных данных.

<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

Комментарии

XmlDocument При создании объекта в результате проверки XmlReader схемы значение, указанное методуSetTypedValue, проверяется в соответствии со схемой языка определения схемы XML (XSD) для XML-документа. Если указанное значение недопустимо в соответствии со схемой XML-документа, XmlSchemaException создается исключение.

Метод SetTypedValue действителен только в том случае, если XPathNavigator он расположен на узле элемента или атрибута.

Применяется к