powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ищу несколько классов под .NET
4 сообщений из 4, страница 1 из 1
ищу несколько классов под .NET
    #34495708
StepLg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ищу:
1) класс для работы с регулярными выражениями типа PCRE, который бы позволял выделять подвыражения в скобках, как в php preg_match_all.
2) класс для работы с http протоколом. простенький. все, что надо - это по запросу в адресной строке получить содержимое сайта в виде html кода
3) класс для работы с xml. тоже простой, ничего навороченного не надо - прочитать/записать xml файл.

есть ли такое в .NET встроенное, если есть - можно простенькие примеры на использование/ссылку на msdn? заранее спасибо.
...
Рейтинг: 0 / 0
ищу несколько классов под .NET
    #34497339
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2007 i still on a case!

в дотнет около 2500 классов, думаю там черта мона найти. По поводу иксэмэля :
авторМногие составляющие технологии .NET неразрывно связаны с XML. А значит, XML хорошо поддерживается со стороны Framework Class Library. Классы для работы с XML собраны в пространстве имен System.Xml. В .NET поддерживаются следующие технологии

XML 1.0
пространства имен XML
XSD схемы
выражения XPath
XSL преобразования
DOM Level 1 Core, DOM Level 2 Core
...
Рейтинг: 0 / 0
ищу несколько классов под .NET
    #34497341
Фотография FasterHarder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
I started in 1983, in 2007 i still on a case!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
[quot автор]Руководство для разработчиков .NET Framework   

Классы регулярных выражений
В следующих разделах приводится описание классов регулярных выражений NET Framework.

Regex
Класс Regex предоставляет неизменное регулярное выражение (только для чтения). В нем также содержатся статические методы, которые позволяют использовать другие классы регулярных выражений без явного создания экземпляров других классов.

В следующем примере кода создается экземпляр класса Regex и определяется простое регулярное выражение при инициализации объекта. Необходимо обратить внимание на использование дополнительной обратной косой черты в качестве escape-знака, который обозначает, что обратная косая черта в группе \s должна обрабатываться как знак.

[Visual Basic]
    ' Declare object variable of type Regex.
    Dim r As Regex 
    ' Create a Regex object and define its regular expression.
    r = New Regex("\s2000")
[C#]
    // Declare object variable of type Regex.
    Regex r; 
    // Create a Regex object and define its regular expression.
    r = new Regex("\\s2000"); 
Match
Класс Match предоставляет результаты поиска соответствий регулярному выражению. В следующем примере метод Match класса Regex возвращает объект типа Match после нахождения первого соответствия во входной строке. В данном примере используется свойство Match.Success класса Match для указания на то, найдено ли соответствие.

[Visual Basic]
    ' cCreate a new Regex object.
    Dim r As New Regex("abc") 
    ' Find a single match in the input string.
    Dim m As Match = r.Match("123abc456") 
    If m.Success Then
        ' Print out the character position where a match was found. 
        ' (Character position  3  in this case.)
        Console.WriteLine("Found match at position " & m.Index.ToString())
    End If
[C#]
    // Create a new Regex object.
    Regex r = new Regex("abc"); 
    // Find a single match in the string.
    Match m = r.Match("123abc456"); 
    if (m.Success) 
    {
        // Print out the character position where a match was found. 
        // (Character position 3 in this case.)
        Console.WriteLine("Found match at position " + m.Index);
    }
MatchCollection
Класс MatchCollection предоставляет последовательность успешных не перекрывающихся соответствий. Данная коллекция является неизменной (только для чтения) и не имеет открытого конструктора. Экземпляры MatchCollection возвращаются свойством Regex.Matches.

В следующем примере метод Matches класса Regex используется для заполнения MatchCollection всеми соответствиями, найденными во входной строке. В данном примере коллекция копируется в массив строк, каждая из которых содержит соответствие, и в массив целых чисел, указывающий расположение каждого соответствия.

[Visual Basic]
    Dim mc As MatchCollection
    Dim results( 20 ) As String
    Dim matchposition( 20 ) As Integer

    ' Create a new Regex object and define the regular expression.
    Dim r As New Regex("abc")
    ' Use the Matches method to find all matches in the input string.
    mc = r.Matches("123abc4abcd")
    ' Loop through the match collection to retrieve all 
    ' matches and positions.
    Dim i As Integer
    For i =  0  To mc.Count -  1 
        ' Add the match string to the string array.
        results(i) = mc(i).Value
        ' Record the character position where the match was found.
        matchposition(i) = mc(i).Index
    Next i
[C#]
    MatchCollection mc;
    String[] results = new String[ 20 ];
    int[] matchposition = new int[ 20 ];
    
    // Create a new Regex object and define the regular expression.
    Regex r = new Regex("abc"); 
    // Use the Matches method to find all matches in the input string.
    mc = r.Matches("123abc4abcd");
    // Loop through the match collection to retrieve all 
    // matches and positions.
    for (int i =  0 ; i < mc.Count; i++) 
    {
        // Add the match string to the string array.   
        results[i] = mc[i].Value;
        // Record the character position where the match was found.
        matchposition[i] = mc[i].Index;   
    }
GroupCollection
Класс GroupCollection предоставляет коллекцию найденных групп и возвращает набор групп как одно соответствие. Данная коллекция является неизменной (только для чтения) и не имеет открытого конструктора. Экземпляры GroupCollection возвращены в коллекцию, которая возвращает свойство Match.Groups.

В следующем примере текстового приложения находится и печатается число групп, соответствующий регулярному выражению. Как извлечь каждое из найденных соответствий из коллекции группы см. в примере Capture Collection следующего раздела.

[Visual Basic]
    Imports System
    Imports System.Text.RegularExpressions

    Public Class RegexTest
        Public Shared Sub RunTest()
            ' Define groups "abc", "ab", and "b".
            Dim r As New Regex("(a(b))c") 
            Dim m As Match = r.Match("abdabc")
            Console.WriteLine("Number of groups found = " _
            & m.Groups.Count.ToString())
        End Sub    
    
        Public Shared Sub Main()
            RunTest()
        End Sub
    End Class
[C#]
    using System;
    using System.Text.RegularExpressions;

    public class RegexTest 
    {
        public static void RunTest() 
        {
            // Define groups "abc", "ab", and "b".
            Regex r = new Regex("(a(b))c"); 
            Match m = r.Match("abdabc");
            Console.WriteLine("Number of groups found = " + m.Groups.Count);
        }
        public static void Main() 
        {
            RunTest();
        }
    }
В этом примере на выходе выдается следующий результат.

[Visual Basic]
    Number of groups found = 3
[C#]
    Number of groups found = 3
CaptureCollection
Класс CaptureCollection предоставляет последовательность найденных подстрок и возвращает наборы соответствий отдельно для каждой группы. Если в регулярном выражении используются кванторы, такая группа может сохранить более одной строки для одного найденного соответствия. Свойство Captures, объект класса CaptureCollection, также является объектом классов Match и Group и обеспечивает доступ к набору захваченных подстрок.

Например, если используется регулярное выражение((a(b))c)+ (где квантор + задает одно или несколько соответствий) для поиска соответствий в строке "abcabcabc", CaptureCollection для каждой соответствующей группы будет содержать по три члена.

В следующем примере текстового приложения используется регулярное выражение (Abc)+ для поиска одного или нескольких соответствий в строке "XYZAbcAbcAbcXYZAbcAb". В данном примере показано применение свойства Captures для возврата нескольких групп найденных подстрок.

[Visual Basic]
    Imports System
    Imports System.Text.RegularExpressions

    Public Class RegexTest
        Public Shared Sub RunTest()
            Dim counter As Integer
            Dim m As Match
            Dim cc As CaptureCollection
            Dim gc As GroupCollection
            ' Look for groupings of "Abc".
            Dim r As New Regex("(Abc)+") 
            ' Define the string to search.
            m = r.Match("XYZAbcAbcAbcXYZAbcAb")
            gc = m.Groups
            
            ' Print the number of groups.
            Console.WriteLine("Captured groups = " & gc.Count.ToString())
            
            ' Loop through each group.
            Dim i, ii As Integer
            For i = 0 To gc.Count - 1
                cc = gc(i).Captures
                counter = cc.Count
                
                ' Print number of captures in this group.
                Console.WriteLine("Captures count = " & counter.ToString())
                
                ' Loop through each capture in group.            
                For ii = 0 To counter - 1
                    ' Print capture and position.
                    Console.WriteLine(cc(ii).ToString() _
                        & "   Starts at character " & cc(ii).Index.ToString())
                Next ii
            Next i
        End Sub
    
        Public Shared Sub Main()
            RunTest()
         End Sub
    End Class
[C#]
    using System;
    using System.Text.RegularExpressions;

    public class RegexTest 
        {
        public static void RunTest() 
        {
            int counter;
            Match m;
            CaptureCollection cc;
            GroupCollection gc;

            // Look for groupings of "Abc".
            Regex r = new Regex("(Abc)+"); 
            // Define the string to search.
            m = r.Match("XYZAbcAbcAbcXYZAbcAb"); 
            gc = m.Groups;

            // Print the number of groups.
            Console.WriteLine("Captured groups = " + gc.Count.ToString());

            // Loop through each group.
            for (int i= 0 ; i < gc.Count; i++) 
            {
                cc = gc[i].Captures;
                counter = cc.Count;
                
                // Print number of captures in this group.
                Console.WriteLine("Captures count = " + counter.ToString());
                
                // Loop through each capture in group.
                for (int ii =  0 ; ii < counter; ii++) 
                {
                    // Print capture and position.
                    Console.WriteLine(cc[ii] + "   Starts at character " + 
                        cc[ii].Index);
                }
            }
        }

        public static void Main() {
            RunTest();
        }
    }
Этот пример выдает следующий результат.

[Visual Basic]
    Captured groups =  2 
    Captures count =  1 
    AbcAbcAbc   Starts at character  3 
    Captures count =  3 
    Abc   Starts at character  3 
    Abc   Starts at character  6 
    Abc   Starts at character  9 
[C#]
    Captured groups =  2 
    Captures count =  1 
    AbcAbcAbc   Starts at character  3 
    Captures count =  3 
    Abc   Starts at character  3 
    Abc   Starts at character  6 
    Abc   Starts at character  9 
Group
Класс Group предоставляет результаты для одной регулярной группы. Поскольку в зависимости от кванторов Group должен сохранять для каждого соответствия или одну строку, или ни одной, или несколько строк, в нем содержится коллекция объектов Capture. Поскольку Group наследуется от Capture, к последней найденной подстроке возможно прямое обращение (сам экземпляр Group эквивалентен последнему элементу коллекции, возвращенному свойством Captures).

Экземпляры Group возвращаются свойством Match.Groups(groupnum) или Match.Groups("groupname"), если используется конструкция "(?<groupname>)".

В следующем примере кода используются вложенные конструкции групп для поиска и сохранения подстрок.

[Visual Basic]
    Dim matchposition( 20 ) As Integer
    Dim results( 20 ) As String
    ' Define substrings abc, ab, b.
    Dim r As New Regex("(a(b))c") 
    Dim m As Match = r.Match("abdabc")
    Dim i As Integer = 0
    While Not (m.Groups(i).Value = "")    
       ' Copy groups to string array.
       results(i) = m.Groups(i).Value     
       ' Record character position. 
       matchposition(i) = m.Groups(i).Index 
        i = i + 1
    End While
[C#]
    int[] matchposition = new int[20];
    String[] results = new String[20];
    // Define substrings abc, ab, b.
    Regex r = new Regex("(a(b))c"); 
    Match m = r.Match("abdabc");
    for (int i = 0; m.Groups[i].Value != ""; i++) 
    {
        // Copy groups to string array.
        results[i]=m.Groups[i].Value; 
        // Record character position.
        matchposition[i] = m.Groups[i].Index; 
    }
В этом примере на выходе возвращается следующий результат.

[Visual Basic]
    results(0) = "abc"   matchposition(0) = 3
    results(1) = "ab"    matchposition(1) = 3
    results(2) = "b"     matchposition(2) = 4
[C#]
    results[0] = "abc"   matchposition[0] = 3
    results[1] = "ab"    matchposition[1] = 3
    results[2] = "b"     matchposition[2] = 4
В следующем примере кода используются именованные конструкции для поиска групп в строке формата "DATANAME:VALUE". В регулярном выражении двоеточие (:) используется в качестве разделителя.

[Visual Basic]
    Dim r As New Regex("^(?<name>\w+):(?<value>\w+)")
    Dim m As Match = r.Match("Section1:119900")
[C#]
    Regex r = new Regex("^(?<name>\\w+):(?<value>\\w+)");
    Match m = r.Match("Section1:119900");
Это регулярное выражение возвращает на выходе следующий результат.

[Visual Basic]
    m.Groups("name").Value = "Section1"
    m.Groups("value").Value = "119900"
[C#]
    m.Groups["name"].Value = "Section1"
    m.Groups["value"].Value = "119900"
Capture
Класс Capture содержит результаты для одной регулярной группы.

В этом примере выполняется цикл по коллекции Group, из каждого члена Group извлекается коллекция Capture, и переменным posn и length присваивается положение найденной последовательности в исходной строке и длина последовательности.

[Visual Basic]
    Dim r As Regex
    Dim m As Match
    Dim cc As CaptureCollection
    Dim posn, length As Integer

    r = New Regex("(abc)*")
    m = r.Match("bcabcabc")
    Dim i, j As Integer
    i = 0
    While m.Groups(i).Value <> ""
        ' Grab the Collection for Group(i).
        cc = m.Groups(i).Captures
        For j =  0  To cc.Count -  1 
            ' Position of Capture object.
            posn = cc(j).Index
            ' Length of Capture object.
            length = cc(j).Length
        Next j
        i +=  1 
    End While
[C#]
    Regex r;
    Match m;
    CaptureCollection cc;
    int posn, length;

    r = new Regex("(abc)*");
    m = r.Match("bcabcabc");
    for (int i= 0 ; m.Groups[i].Value != ""; i++) 
    {
        // Capture the Collection for Group(i).
        cc = m.Groups[i].Captures; 
        for (int j =  0 ; j < cc.Count; j++) 
        {
            // Position of Capture object.
            posn = cc[j].Index; 
            // Length of Capture object.
            length = cc[j].Length; 
        }
    }[/quot]

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Руководство для разработчиков .NET Framework   

Использование XML в .NET Framework
Классы XML в .NET Framework предоставляют полный интегрированный набор классов для работы с XML-документами и данными. Классы XML в .NET Framework можно разделить на несколько групп: анализ и написание XML с помощью XmlReader и XmlWriter, проверка XML с помощью XmlValidatingReader и редактирование XML-документа с помощью XmlDocument. Классы XslTransform, XmlSchema и XPathNavigator поддерживают выполнение преобразований XSL (XSLT), редактируя язык определения схем XML (XSD) и используя Xpath-запросы.

В этом разделе
Общие сведения об архитектуре XML в .NET Framework 
Обзор архитектуры XML в .NET Framework. 
Общие сведения о расширениях безопасности для пространства имен System.XML 
Обзор расширений безопасности для System.XML в .NET Framework версии  1 . 1 . Кратко описаны классы, на которые влияют изменения, и предоставлены ссылки на разделы, содержащие подробные сведения по этим вопросам. 
Модель объектов XML-документов 
Описано, каким образом обеспечивается соответствие класса XmlDocument и связанных с ним классов спецификациям поддержки пространств имен в объектной модели документов W3C (базовой) уровней  1  и  2 . 
Чтение XML с помощью класса XmlReader 
Описано, каким образом класс XmlReader предоставляет некэшированный однонаправленный доступ только для чтения к XML-данным в XML-потоке. 
Запись XML с помощью класса XmlWriter 
Описано, каким образом класс XmlReader предоставляет способ создания некэшированных однонаправленных XML-потоков и помогает пользователю в построении XML-документов. 
Преобразования XSLT с помощью класса XslTransform 
Описание реализации классом XslTransform рекомендаций XSLT  1 . 0  по преобразованию XML-документов и поддержки компилированных сценариев с помощью Visual Basic, C# и JavaScript. 
Класс XPathNavigator в .NET Framework 
Функциональность XPath — это возможность запроса хранилища данных для некоторого узла или набора узлов. XPathNavigator — это класс, предоставляющий методы, необходимые для реализации Xpath-запросов в любом хранилище данных, основанный на модели данных, описанной в рекомендациях по языку XML Path (XPath)  1 . 0  (www.w3.org/TR/xpath.html). 
Модель объектов XML-схемы 
Описаны классы, используемые для построения и работы с XML-схемами (XSD) с помощью предоставления класса XmlSchema для загрузки и изменения схемы. 
Проверка XML-документов со схемами 
Описаны имеющиеся в .NET Framework проверки определения типа документа (DTD), схемы приведенных XML-данных (XDR) и XML-схемы (XSD). 
Интеграция XML с реляционными данными и ADO.NET 
Описано, каким образом в .NET Framework обеспечивается синхронный доступ (в режиме реального времени) как к реляционному, так и иерархическому представлению данных с помощью объектов DataSet и XmlDataDocument. 
Разрешение внешних ресурсов XML с именами URI 
XmlResolver — это абстрактный класс, разрешающий внешние ресурсы XML, именованные с помощью URI. 
Кодировка знаков имен XML и преобразование типов данных 
Описано осуществление кодировки и декодировки имен в XML-данных классом XmlConvert. 
Преобразование типов данных XML 
Описано выполнение строго типизированного преобразования XML-данных классом XmlConvert. 
Пространства имен в XML-документе 
Описано создание и использование классом XmlNamespaceManager необходимых пространств имен с сохранением префикса и представляющего его пространства имен. 



авторБиблиотека классов .NET Framework

System.Runtime.Remoting.Channels.Http - пространство имен
Пространство имен System.Runtime.Remoting.Channels.Http содержит каналы, которые используют HTTP-протокол для передачи сообщений и объектов в удаленные местоположения и обратно. По умолчанию для передачи HTTP-каналы кодируют объекты и вызовы методов в формате SOAP, но в конфигурационных свойствах канала могут указываться другие приемники кодирования и декодирования форматера. Один из наиболее важных классов пространства имен System.Runtime.Remoting.Channels.Http в классе HttpChannel.

Класс HttpChannel комбинирует класс HttpClientChannel и класс HttpServerChannel и может использоваться для получения и передачи сообщений с помощью HTTP-протоколов.

Иерархия пространства имен

Классы
Класс Описание
HttpChannel Обеспечивает реализацию для канала «отправитель-получатель», который использует HTTP-протокол для передачи сообщений.
HttpClientChannel Обеспечивает реализацию для канала клиента, который использует HTTP-протокол для передачи сообщений.
HttpRemotingHandler Реализует обработчик ASP.NET, который передает запросы в HTTP-канал удаленного доступа.
HttpRemotingHandlerFactory Инициализирует новый экземпляр класса HttpRemotingHandler.
HttpServerChannel Обеспечивает реализацию для канала сервера, который использует HTTP-протокол для передачи сообщений.

думаю пока хватит
...
Рейтинг: 0 / 0
ищу несколько классов под .NET
    #34497564
StepLg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да! спасибо огромное ) то, что искал.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ищу несколько классов под .NET
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]