Hallo Leute,
ich versuche eine XML Datei zu durchsuchen, auf einen bestimmten String.
Anhand dieses regulären Ausdrucks:
Jetzt wollte ich eigentlich erreichen, dass er mit immer den String "time="0"" in den array schreibt und das hald für jeden passenden wert. Sprich er sollte letztlich dann so aussehen:
Aber irgenwie gibt er es mir so aus????
Weis allerdings nicht wieso?
Könnt ihr mir da weiterhelfen? Irgendwie seh ich nicht was da falsch sein soll?
Danke für eure Hilfe.
hier das skript:
die XML DATEI:
ich versuche eine XML Datei zu durchsuchen, auf einen bestimmten String.
Anhand dieses regulären Ausdrucks:
PHP-Code:
$tag = '/time=".*"/';
PHP-Code:
Array
(
[0] => time="0"
[1] => time="2"
[2] => time="3"
)
PHP-Code:
Array
(
[0] => time="0">{sdfgsdfg}{sdfgsdfg} time="2">{asdf}{asdf} time="3">{asdf}{sdf}
Es wurden 3 Vorkommen von /time=".*"/ gefunden
Könnt ihr mir da weiterhelfen? Irgendwie seh ich nicht was da falsch sein soll?
Danke für eure Hilfe.
hier das skript:
PHP-Code:
$tag = '/time=".*"/';
$inhalt = file_get_contents('test.xml');
preg_match_all($tag,$inhalt,$treffer);
echo "<pre>";
print_r($treffer[0]);
echo "</pre>";
echo '<p>Es wurden '.count($treffer[0]).' Vorkommen von '.$tag.' gefunden';
PHP-Code:
<?xml version="1.0" encoding="utf-8" ?>
<DataItems>
<DataItem TYPEID="{sdfgsdfgsdfgsdfg}" now="10/6/2008 09:33:57" time="0">
<Event>
<InstanceID>{sdfgsdfg}</InstanceID>
<ProviderID>{sdfgsdfg}</ProviderID>
<Time TimeString="9/21/2008 22:53:01">39712.870162037</Time>
<SourceName>Security</SourceName>
<AgentComputer>sdfgs</AgentComputer>
<Computer>sdfg</Computer>
<Domain>sdfg</Domain>
<CategoryNumber>2</CategoryNumber>
<EventNumber>552</EventNumber>
<EventType>8</EventType>
<UserName>sdfgsdfg</UserName>
<UserDomain>NT AUTHORITY</UserDomain>
<Message><![CDATA[Logon attempt using explicit credentials:
Logged on user:
User Name: sdfgsdfg
Domain: sdfgs
Logon ID: (0x0,0x3E7)
Logon GUID: {sdfgsdfg}
User whose credentials were used:
Target User Name: sdfg
Target Domain: sdfgsdfg
Target Logon GUID: -
Target Server Name: sdfgsdfg
Target Server Info: sdfgssdfg
Caller Process ID: 4345345
Source Network Address: -
Source Port: -
]]></Message>
<Category><![CDATA[Logon/Logoff ]]></Category>
<MessageDLL>MsAuditE.dll</MessageDLL>
</Event>
</DataItem>
<DataItem TYPEID="{asdfasd}" now="10/6/2008 09:33:57" time="2">
<Event>
<InstanceID>{asdf}</InstanceID>
<ProviderID>{asdf}</ProviderID>
<Time TimeString="9/21/2008 22:58:02">39712.8736342593</Time>
<SourceName>Security</SourceName>
<AgentComputer>asdf</AgentComputer>
<Computer>asdf</Computer>
<Domain>asdfasdf</Domain>
<CategoryNumber>2</CategoryNumber>
<EventNumber>552</EventNumber>
<EventType>8</EventType>
<UserName>asdf</UserName>
<UserDomain>NT AUTHORITY</UserDomain>
<Message><![CDATA[Logon attempt using explicit credentials:
Logged on user:
User Name: asdf
Domain: asdf
Logon ID: (0x0,sdf)
Logon GUID: {asdf}
User whose credentials were used:
Target User Name: asdf
Target Domain: asdf
Target Logon GUID: -
Target Server Name: asdf
Target Server Info: sdf
Caller Process ID: 836
Source Network Address: -
Source Port: -
]]></Message>
<Category><![CDATA[Logon/Logoff ]]></Category>
<MessageDLL>MsAuditE.dll</MessageDLL>
</Event>
</DataItem>
<DataItem TYPEID="{38D93882-6459-11D2-A6E1-00A0C97148B7}" now="10/6/2008 09:33:58" time="3">
<Event>
<InstanceID>{asdf}</InstanceID>
<ProviderID>{sdf}</ProviderID>
<Time TimeString="9/26/2008 00:10:47">39716.9241666667</Time>
<SourceName>asdf</SourceName>
<AgentComputer>asdf</AgentComputer>
<Computer>asdf</Computer>
<Domain>asdf</Domain>
<CategoryNumber>2</CategoryNumber>
<EventNumber>22062</EventNumber>
<EventType>4</EventType>
<UserName>NETWORK SERVICE</UserName>
<UserDomain>NT AUTHORITY</UserDomain>
<Message><![CDATA[The Agent outgoing data processing has successfully resumed after being blocked.
Management Group: asdf ]]></Message>
<Category><![CDATA[MOM asdf ]]></Category>
<MessageDLL>MOMMsgs.dll</MessageDLL>
</Event>
</DataItem>
</DataItems>
Kommentar